【问题标题】:Dynamic php method动态php方法
【发布时间】:2013-12-06 17:07:24
【问题描述】:

是否可以动态创建方法?例如:我有一个名为“createMethod()”的方法。我想将变量传递给这个方法,描述动态方法的外观(函数描述,作为数组或对象的参数)。我一直在尝试做类似的事情,我敢打赌我一直在描述参数并且与 eval() 函数混淆了,我曾经用它来形成一些变量。

谁能给我一个简单的例子,这个动态方法会是什么样子?可能已经在 Zend 或 CodeIgniter 框架中创建了一些有用的东西?

谢谢!

【问题讨论】:

  • 是的,看看__call,它会捕获对不存在的方法的任何调用。您可以使用$method = 'callme'; $this->$method($params) 进行动态调用。
  • 你能具体化用例/上下文吗?

标签: php dynamic methods dynamic-method


【解决方案1】:

您可以在以下位置找到一个很好的解决方案: php create class method at runtime

是魔术方法 __call 和闭包的混合体。

还有一篇关于extending objects with new methods at runtime的帖子

【讨论】:

    【解决方案2】:

    php 魔术方法 __call]1 可能就是你要找的东西

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-08
      • 2016-02-05
      • 2014-11-22
      • 1970-01-01
      • 2011-01-07
      • 1970-01-01
      • 2016-04-04
      • 2014-07-12
      相关资源
      最近更新 更多