php - 为什么我的匿名函数在 Symfony 2.0 中评估为 NULL?

标签 php symfony anonymous-function callable

我刚开始玩 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/

相关文章:

php - MYSQL 查询从 PHP 获取具有特定时间的所有条目?

PHP 正则表达式 preg_match_all div 不相同 id

php - React PHP 如何处理异步非阻塞 I/O?

ajax - Sf2 : FOS UserBundle : registration AJAX

javascript - React 组件属性中的匿名函数性能有多差?

php - 为什么我从两个假定类似的算术运算中得到不同的结果?

symfony - Sonata-admin 表单中的时间选择器(无日期)

php - Symfony 不通过 touch( ) 创建文件

c# - 匿名函数的 FunctionPointer 唯一性

javascript - 在循环中的多个匿名异步函数中保持不同变量的状态