Php 无法在控制器、zend framework内调用模型
我想在控制器内初始化模型对象,但发生了致命错误Php 无法在控制器、zend framework内调用模型,php,zend-framework,Php,Zend Framework,我想在控制器内初始化模型对象,但发生了致命错误 Fatal error: Class 'Visits_Model_Visit' not found in C:\AppServ\www\zendApps\InspectionSys\application\modules\visits\controllers\VisitController.php on line 24 我正在调用模块访问,它有它的模型,视图和控制器文件夹的结构 visions\u Model\u Visit存在于Model文件夹
Fatal error: Class 'Visits_Model_Visit' not found in C:\AppServ\www\zendApps\InspectionSys\application\modules\visits\controllers\VisitController.php on line 24
我正在调用模块访问,它有它的模型,视图和控制器文件夹的结构
visions\u Model\u Visit
存在于Model文件夹中,我试图在控制器的动作中从中定义对象
public function addAction() {
if (isset($_POST)) {
$visitObj = new Visits_Model_Visit(); // an error occur here!
}
}
您的
访问\u Model\u Visit
存在于/models文件夹中(注意末尾的“s”),首先要注意这一点……但我不知道您是如何设置自动加载器的。[edit]我找到了它…查看/modules
下的Bootstrap.php
,并将其移动到/modules/visions
下,确保它看起来像下面的样子,这样应该可以修复它
我所能说的就是检查一些事情,通常当您的模块引导看起来像:
<?php
class Visits_Bootstrap extends Zend_Application_Module_Bootstrap{
//put your code here
}
这是我的整个frontcontroller部分,我可以访问我的模块级模型。我知道没有其他设置可以使模块正常工作,但我确信有很多变化。您的项目目录结构是什么?你的模型在哪里?你的模型类文件名是什么?我会上传它,请稍等。你的application.ini中有这些行吗?resources.frontController.moduleDirectory=APPLICATION_PATH“/modules”resources.frontController.params.prefixDefaultModule=“1”resources.modules[]=我有时在特定项目中遇到这个问题,我从未找到好的解决方案,并且倾向于通过使用应用程序级模型来避免问题。我知道这没有什么帮助,但至少知道你不是一个人:)这在ZF 1.x中是正确的,因为/models是一个默认路由,将映射到Module_Model_XXX。
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.moduleControllerDirectoryName = "controllers"
resources.frontController.params.prefixDefaultModule = ""
resources.modules = ""