2008-12-24 90 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