php: вызов статических классов через переменную - PullRequest
6 голосов
/ 24 декабря 2008

Есть ли способ вызывать статические классы / методы по имени?

Пример:

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

У меня есть классы, в которых я храню все статические методы, и я бы хотел их так называть.

Ответы [ 2 ]

19 голосов
/ 24 декабря 2008
$name::foo()

возможно начиная с PHP5.3. В более ранних версиях вы должны использовать

call_user_func(array($classname,$methodname))
6 голосов
/ 24 декабря 2008

Вы можете сделать что-то подобное, используя функцию call_user_func

это будет выглядеть примерно так:

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

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...