PHP:通过变量调用静态类

7
有没有一种方法可以通过名称调用静态类/方法?
例如:
$name = 'StaticClass';
($name)::foo();

我有一些类,我把所有静态方法都放在里面,我希望以这种方式调用它们。
2个回答

20
$name::foo()

自PHP5.3以来,这是可能的。在早期版本中,您必须使用

call_user_func(array($classname,$methodname))

1
@KoolKabin:将参数作为进一步的参数传递给 call_user_func。还有call_user_func_array。请参见php.net。 - Kornel

6
您可以使用call_user_func函数来实现类似以下代码的功能:
$name = 'staticClass';
call_user_func(array($name, 'foo'));

希望这能帮助到您。

是的,那就是我正在寻找的东西。虽然我希望它更容易些。 - smack0007

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接