用字符串调用php方法

时间:2010-10-15 14:59:46

标签: php string object methods

我有两个对象。对象A和B。

A有一个返回B的方法。我想动态调用它,所以我用一个字符串来调用B里面的方法,如下所示:

$method = 'getB()->someMethod';

但如果这样做:

$a = new A();
$a->$method();

它不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:18)

你不能这样做。 $method只能包含A方法的名称。阅读variable functions。你可以使用变量,例如

$method1 = 'getB';
$method2 = 'someMethod';

$a->$method1()->$method2();

但可能最好重新考虑问题,考虑代码的另一个结构和/或查看设计模式。

问题是:你的最终目标是什么?