PHP call_user_func для статического метода

Я разрабатываю на 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.

Что я упускаю? Любые идеи?

Спасибо!

7
задан Community 23 May 2017 в 12:17
поделиться