使用存储在属性中的类名

时间:2014-09-11 07:33:24

标签: php syntax

我有一个存储在object属性中的类名,我想用它来访问该类的静态方法,但我似乎无法找到一个有效的语法:

$this->className::staticMethod()

不起作用

{$this->className}::staticMethod()

也不起作用,PHP是否有正确的语法来执行此操作?

2 个答案:

答案 0 :(得分:2)

试试这个语法:

$class = $this->className;
$class::staticMethod();

答案 1 :(得分:2)

如果您有PHP版本> 5.2

call_user_func($this->className.'::staticMethod'); 

否则

call_user_func(array($this->className, 'staticMethod'));

还有参数:

call_user_func_array(array($this->className, 'staticMethod'), array($argument, $anotherArg));