我刚开始玩 Symfony 2.0 并立即遇到错误:
[28-Nov-2011 16:51:26] PHP Fatal error: Uncaught exception 'InvalidArgumentException' with message 'A callable is expected in AnnotationRegistry::registerLoader().'
深入挖掘,我发现一个匿名函数被传递到 registerLoader
函数中。
$callable = function($class) use ($loader)
{
$loader->loadClass($class);
return class_exists($class, false);
};
AnnotationRegistry::registerLoader($callable);
看起来不错,对吧?为了安全起见,我投了一张支票:
var_dump(gettype($callable));
返回的是NULL,显然是不可调用的。我刚刚升级到 PHP 5.3.2,根据 phpversion()
,这是正在使用的版本。
我在 Symfony 环境之外运行了一个一次性脚本,一切正常。
$foo = function()
{
echo 'foo';
};
var_dump(gettype($foo));
//string(6) "object"
有人想知道为什么我在 Symfony 环境中看到围绕匿名函数的不同行为吗?
最佳答案
您是否按照 Symfony docs 中的说明检查了您的配置? ?
这会告诉你是否缺少运行 Symfony 所需的任何东西
关于php - 为什么我的匿名函数在 Symfony 2.0 中评估为 NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8304514/