Zend framework 致命错误:类';Admin#U Model_DbTable#u Region';在Zend中找不到
我的zend项目中有一个名为Admin的模块。我正在使用重定向到名为DeliveryCentersController的控制器的名为viewAction的操作Zend framework 致命错误:类';Admin#U Model_DbTable#u Region';在Zend中找不到,zend-framework,Zend Framework,我的zend项目中有一个名为Admin的模块。我正在使用重定向到名为DeliveryCentersController的控制器的名为viewAction的操作 $this->_helper->redirector->gotoSimple('view','deliveryCenters','Admin',array('param1' => 'test')); 现在,在deliveryCentersController的viewAction中,我有以下内容: class
$this->_helper->redirector->gotoSimple('view','deliveryCenters','Admin',array('param1' => 'test'));
现在,在deliveryCentersController的viewAction中,我有以下内容:
class Admin_DeliveryCentersController extends Zend_Controller_Action
{
public function viewAction()
{
$region=new Admin_Model_DbTable_Region();
$this->view->dc=$region->getDeliveryCenters();
// action body
}
}
这里我在Model/DbTable文件夹的Admin模块中有一个名为Admin\u Model\u DbTable\u Region的类。
现在,执行被重定向到管理模块的viewAction,但将错误称为
致命错误:在第19行的C:\Users\398853\Documents\NetBeansProjects\MST\application\modules\Admin\Controller\DeliveryCentersController.php中找不到类“Admin\u Model\u DbTable\u Region”
请解决此错误。请提前感谢。您的
model
目录不应称为“model”,而应称为models
如果坚持使用model
,则应在引导程序中使用类似的方法将此前缀添加到资源加载程序中
$loader = $this->getResourceLoader();
$loader->addResourceType('model', 'model', 'Model');
此外,您不应该使用操作堆栈。这是一种糟糕的做法,与其让页面在80毫秒内加载(优化后),不如让页面在120毫秒内加载
请参阅上的这篇博文,将其添加到application.ini中:
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules[] = ""
并在模块管理中添加Bootstrap.php文件:
class Admin_Bootstrap extends Zend_Application_Module_Bootstrap
{
}
另外,它被称为Zend框架,而不是Zend。泽德!==Zend框架。它们指的是两个完全不同的东西。你的意思是说我们不应该使用视图帮助程序吗?我将模型重命名为模型,但仍然出现相同的问题。包含类
Admin\u model\u DbTable\u Region
的文件的路径是什么?它应该是:application/modules/Admin/models/DbTable/Region.php
。同时也要注意上/下表壳。您正在使用模块名“Admin”
;通常,这将是'admin'
,目录名将匹配。你应该对你所拥有的没问题,但是这是自动加载失败的另一个可能的调查领域。ryan,查看帮助程序很好,但是如果你阅读了我发布的链接,你应该看到,调用操作堆栈,通过使用类似于转发的东西,会创建另一个调度链/循环。这是非常沉重的负担。在99.99999999999%的情况下,仅仅使用动作助手和局部视图并不能实现同样的效果。我从未见过转发是唯一答案的用例。@DavidWeinraub我正在使用netbeans,并使用netbeans中内置的zf命令工具创建模块。Admin_Model_DbTable_Region的位置如下:application/modules/Admin/models/DbTable/Region.php Plz建议我解决这个问题..谢谢你的回复。它起作用了。但是每次创建模块时我都需要创建bootstrap.php文件?每个模块都必须有它的bootstrap!;)