我有3次模样,打击,
application
|
modules
|
default
|---models
|--views
|--forms
|--controller-
|-indexController
|-errorController
admin
|---models-
|-user.php
|--views
|--forms
|--controller--
|-userController
cars
|---models
|--views
|--forms
|--controller
bootstrap.php
和我的appliction.ini
我有这个配置
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules = ""
在我的bootsrap文件中我有这个自动加载器
$modelLoader = new Zend_Application_Module_Autoloader(array(
'namespace' => '',
'basePath' => APPLICATION_PATH ));
所以我无法访问userController和其他控制器中的我的模型类
我在userController中有这段代码
$userModel = new admin_Model_Users();
但我得错误找不到这个班级
,此类位于user.php
中class admin_Model_Users extends Zend_Db_Table_Abstract
{
public function getListUser() {
}
}
有人可能会帮助我的错误,以及如何解决这个问题?
答案 0 :(得分:3)
摆脱
$modelLoader = new
Zend_Application_Module_Autoloader(array(
'namespace' => '',
'basePath' => APPLICATION_PATH ));
并添加 你模块中的Bootstrap.php:
class Admin_Bootstrap extends Zend_Application_Module_Bootstrap
{
}
还将您的班级命名为Admin_Model_Users并在适当的地方使用它。 在文件名中使用大写“U”,在类名中使用大写“A”。我的意思是名称应该符合ZF指南。
同样在ini文件中: 将条目更改为
resources.modules[] =
答案 1 :(得分:0)
尝试以下方法:
class admin_Model_Users extends Zend_Db_Table_Abstract
应该成为
class Models_UsersAdmin extends Zend_Db_Table_Abstract
$userModel = new admin_Model_Users();
应该成为
$userModel = new Models_UsersAdmin();
更新
在您的application.ini文件中,您注册了名称空间,添加以下行:
autoloaderNamespaces[] = "Models"
(或在bootstrap注册名称空间“Models”)
答案 2 :(得分:0)
;define modules after controller in application.ini file
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"