我正在 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
.
我错过了什么?有任何想法吗?
谢谢!