Я разрабатываю на Symfony2 и мне нужно вызвать метод класса, оба известны только во время выполнения.
Я уже успешно использовал переменные функциии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()
именно так, он работает.
Я также пытался запустить автозагрузчик вручную, как это было предложено в этом комментарии к ответу на вопрос, но это не сработало. Кроме того, class_exists
вернул false
.
Что я упускаю? Любые идеи?
Спасибо!