1

Zend_Application_Module_Bootstrapさまざまなモジュール ディレクトリ内でアプリケーションをブートストラップしています。別のモジュールのブートストラップ内のリソースを最初に実行するように要求するにはどうすればよいですか?

// app/modules/user/Bootstrap.php
class User_Bootstrap extends Zend_Application_Module_Bootstrap
{
    protected function _initUser()
    {
    }
}

// app/modules/author/Bootstrap.php
class Author_Bootstrap extends Zend_Application_Module_Bootstrap
{
    protected function _initAuthor()
    {
        $this->bootstrap('user'); // Fatal:  Resource matching 'user' not found
    }
}
4

2 に答える 2

0

ZF1 メーリング リストのこのスレッドによると、アプリケーション ブートストラップのモジュール リソースを介してモジュール ブートストラップにアクセスできます。

男、なんて一口。これが私が意味することです:

// app/modules/user/Bootstrap.php
class User_Bootstrap extends Zend_Application_Module_Bootstrap
{
    protected function _initUser()
    {
    }
}

// app/modules/author/Bootstrap.php
class Author_Bootstrap extends Zend_Application_Module_Bootstrap
{
    protected function _initAuthor()
    {
        $app = $this->getApplication(); // it's actually the application *bootstrap*
        $app->bootstrap('modules');
        $modulesResource = $app->getResource('modules'); 
        $userBootstrap = $modulesResource->user;
        $userBootstrap->bootstrap('user'); // should be cool
    }
}

私自身の経験では、モジュール レベルのリソースの 1 つを複数のモジュールで参照する必要があるとすぐに (特にブートストラップ中に)、そのリソースのブートストラップをアプリケーション レベルのブートストラップにプッシュするだけです。

于 2013-04-09T03:01:20.933 に答える