我有一个 Zend 应用程序,它有一个 CMS 模块和一个用户模块。我需要在 CMS 模块的引导程序中做一些涉及用户模块下的服务的事情。
当我尝试实例化服务类时,我收到“找不到类”错误,表明用户模块中的资源尚未自动加载。
我想强调我必须在引导期间而不是之后这样做。
如何从我的管理模块的引导程序中从我的用户模块加载资源?
我有一个 Zend 应用程序,它有一个 CMS 模块和一个用户模块。我需要在 CMS 模块的引导程序中做一些涉及用户模块下的服务的事情。
当我尝试实例化服务类时,我收到“找不到类”错误,表明用户模块中的资源尚未自动加载。
我想强调我必须在引导期间而不是之后这样做。
如何从我的管理模块的引导程序中从我的用户模块加载资源?
您可以在全局引导程序中(而不是在特定于模块的引导程序中)执行所有必需的应用程序类和命名空间的自动加载:
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
}