2008-12-24 89 views
5

有没有方法通过名称调用静态类/方法?php:通过变量调用静态类

例子:

$name = 'StaticClass'; 
($name)::foo(); 

我有我把所有的静态方法类,我想打电话给他们这种方式。

回答

18
$name::foo() 

是可能的,因为PHP5.3。在早期版本中,您必须使用

call_user_func(array($classname,$methodname)) 
+0

如果我们想要传递值... – KoolKabin 2010-05-18 01:21:27

5

您可以使用call_user_func功能

做这样的事情看起来会像下面

$name = 'staticClass'; 
call_user_func(array($name, 'foo')); 

希望这有助于

+0

是的,那就是我正在寻找的东西。尽管我希望这会更容易。 – smack0007 2008-12-24 10:38:56