0

我有一个 Zend 应用程序,它有一个 CMS 模块和一个用户模块。我需要在 CMS 模块的引导程序中做一些涉及用户模块下的服务的事情。

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

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

如何从我的管理模块的引导程序中从我的用户模块加载资源?

4

1 回答 1

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
}
于 2013-08-05T17:42:52.707 回答