在PHP中用变量替换类名

时间:2011-06-08 09:00:12

标签: php

从哪个版本的PHP可以使用以下内容:

$class::method()->something($val);

我需要使用它,但是在5.2.11中我得到了一个T_PAMAAYIM_whatever错误,我只是想确定它是版本相关还是编码错误。

如果版本相关,那么什么是有效的替代方案?

谢谢。

3 个答案:

答案 0 :(得分:5)

我认为这是PHP 5.3的功能。您应该可以在“任何”版本中call_user_func(array($class, $method), $val);

答案 1 :(得分:0)

在PHP 5.3中添加。从发行说明:

  

新功能

     
      
  • 现在可以动态访问静态方法。
  •   

http://php.net/manual/en/migration53.new-features.php

答案 2 :(得分:0)

这确实是一个PHP5.3功能。现在使用call_user_func(array('Class', 'method'), $arg),将来使用PHP5.4 will even make it possible

$callback = array('Class', 'method');
$callback($arg);