Zend 1.11 +无法在另一个模块的引导程序中使用模块资源

时间:2012-05-11 07:19:35

标签: php zend-framework zend-app-bootstrap

我有一个Zend应用程序,它有一个CMS模块和一个用户模块。我需要在CMS模块的引导程序中执行某些操作,该引导程序涉及用户模块下的服务。

当我尝试实例化服务类时,出现“未找到类”错误,表明“用户”模块中的资源尚未自动加载。

我想强调,我必须在引导期间而不是之后这样做。

如何在Admin模块的引导程序中从Users模块加载资源?

1 个答案:

答案 0 :(得分:0)

您可以在全局引导程序中执行所有必需的应用程序类和命名空间的自动加载(而不是在模块特定的引导程序中):

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap {
    protected function _initAutoloaders()
    {

        // require / require_once for libs/modules with specific autoloaders

        // Load HTML purifier autoloader
        require_once 'HTMLPurifier' . DS . 'HTMLPurifier.auto.php';

        // Load WideImage
        require_once 'WideImage' . DS . 'WideImage.php';

        // ...

        // Use Zend autoloader for other stuff

        $zendAutoloader = Zend_Loader_Autoloader::getInstance();

        // Register stuff.
        $autoloader = array(new SomeClassLoader('SomeLib', LIB_PATH), 'loadClass');
        $zendAutoloader->pushAutoloader($autoloader, 'LibName\\');

        // ...


    }

    // ... Other initializers
}
相关问题