Почему мои анонимные функции оцениваются в NULL в Symfony 2.0? - PullRequest
4 голосов
/ 29 ноября 2011

Я только начал играть с Symfony 2.0 и сразу столкнулся с ошибкой:

[28-Nov-2011 16:51:26] Неустранимая ошибка PHP: необработанное исключение InvalidArgumentException с сообщением'Ожидается вызов в 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?

1 Ответ

0 голосов
/ 30 ноября 2011

Вы проверили свою конфигурацию, как указано в Symfony docs ?

Это должно сказать вам, если вы пропустили что-нибудь необходимое для запуска Symfony

...