4

Symfony 2.0 をいじり始めたところ、すぐにエラーが発生しました。

[2011 年 11 月 28 日 16:51:26] PHP の致命的なエラー: メッセージ「AnnotationRegistry::registerLoader() で callable が必要です」というメッセージを含むキャッチされない例外「InvalidArgumentException」

さらに深く掘り下げると、無名関数が関数に渡されていることがわかりました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 環境の外で 1 回限りのスクリプトを実行したところ、すべてが正しく動作しました。

$foo = function()
{
    echo 'foo';
};

var_dump(gettype($foo));

//string(6) "オブジェクト"

Symfony 環境内の無名関数に関して異なる動作が見られる理由について、何か考えがある人はいますか?

4

1 に答える 1

0

Symfony docsに記載されているように構成を確認しましたか?

これにより、Symfony を実行するために必要なものが不足しているかどうかがわかります

于 2011-11-30T13:37:32.813 に答える