1

ZF2 で Zend\MVC\Service\ServiceManagerConfig.php を読んだとき。問題が発生しました。コードは次のとおりです。

$serviceManager->addInitializer(function ($instance) use ($serviceManager) {
        if ($instance instanceof EventManagerAwareInterface
            && !$instance->getEventManager() instanceof EventManagerInterface
        ) {
            $instance->setEventManager($serviceManager->get('EventManager'));
        }
    });

メソッド「addInitializer」にクロージャーがあることは知っていますが、混乱しているのはパラメーター「$instance」です。これはパラメーターですが、実際の値はどこからですか? $instance の var_dump() を調べて、それが "Zend\ModuleManager\Listener\ServiceListener" のオブジェクトであることを確認します。それはどこに来るのですか?

4

1 に答える 1

2

オブジェクトは$sm->get('something');、定義されたファクトリを使用して作成され、イニシャライザに渡されます。$instanceパラメータはそのオブジェクトです。

ここでそれを見ることができます

于 2013-01-30T15:33:58.370 に答える