Я разрабатываю Symfony2, и мне нужно вызвать метод в классе, который известен только во время выполнения.PHP call_user_func по статическому методу
я уже успешно используется variable functions и call_user_func
в проекте, но на этот раз они дают мне проблемы ...
Мой код выглядит следующим образом
namespace MyBundleNamespace;
use MyBundle\Some\Class;
class MyClass
{
public static function myFunction() { ... }
}
и в какой-то другой файл мне нужно делают это
MyClass::myFunction();
но динамически, поэтому я попытался как
$class = "MyClass";
$method = "myFunction";
$class::$method();
и
$class = "MyClass";
$method = "myFunction";
call_user_func("$class::$method");
Но я получаю ошибку class MyClass not found
. Конечно, класс включен правильно с use
, и если я звоню MyClass::myFunction()
, то он так же работает.
Я также попытался запустить автозагрузчик вручную, как это было предложено в комментарии this question, но это не сработало. Также class_exists
false
.
Что мне не хватает? Есть идеи?
Спасибо!
вы пробовали 'call_user_func (массив ($ класс, $) метод)'? – prehfeldt
Да, я сделал, результат был таким же. – mokagio