我有一个测试模块。
我在 myproject / application / modules / test / lists / Profiles.php
中有一个班级class Test_List_Profiles {
// class members
}
现在我在 myproject / application / modules / test / controllers / ProfileController.php
中访问此类时public function indexAction() {
$profilesList = new Test_List_Profiles();
}
它给了我以下错误:
Fatal error: Class 'Test_List_Profiles' not found
我还在 Bootstrap.php 中输入了以下内容:
protected function _initAutoload() {
$autoLoader = Zend_Loader_Autoloader::getInstance();
$testModuleLoader = new Zend_Loader_Autoloader_Resource(array(
'basePath' => APPLICATION_PATH . 'modules/test',
'namespace' => 'Test_',
'resourceTypes' => array( 'form' => array( 'path'=>'forms/', 'namespace'=>'Form_' ),
'list' => array( 'path'=>'lists/', 'namespace'=>'List_' )
)
));
}
如何在项目中的任何地方访问 Test_List_Profiles 类?
由于
答案 0 :(得分:4)
您应该能够以这种方式在测试模块引导类(myproject / application / modules / test / Bootstrap.php)中添加列表资源:
class Test_Bootstrap extends Zend_Application_Module_Bootstrap {
protected function _initAutoload(){
$autoloader = $this->getResourceLoader();
$autoloader->addResourceType('list', 'models/lists', 'Model_List');
return $autoloader;
}
}
答案 1 :(得分:0)
basePath路径中存在错误。缺少斜杠(/)。
protected function _initAutoload() {
$autoLoader = Zend_Loader_Autoloader::getInstance();
$testModuleLoader = new Zend_Loader_Autoloader_Resource(array(
'basePath' => APPLICATION_PATH . '/modules/test',
'namespace' => 'Test_',
'resourceTypes' => array( 'form' => array( 'path'=>'forms/', 'namespace'=>'Form_' ),
'list' => array( 'path'=>'lists/', 'namespace'=>'List_' )
)
));
}
现在正在运作。