我有一个存储在object属性中的类名,我想用它来访问该类的静态方法,但我似乎无法找到一个有效的语法:
$this->className::staticMethod()
不起作用
{$this->className}::staticMethod()
也不起作用,PHP是否有正确的语法来执行此操作?
答案 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));