zend-framework – 默认模块中控制器的命名空间/前缀
发布时间:2020-12-13 17:38:29 所属栏目:PHP教程 来源:网络整理
导读:在我的zf应用程序中,我有3个模块: 申请人 公司 管理员 而且,在我的application.ini中,我选择了一个默认模块 resources.frontController.defaultModule = "applicant" 因此,一些控制器类的命名如下: class IndexController extends Zend_Controller_Action
在我的zf应用程序中,我有3个模块:
>申请人 而且,在我的application.ini中,我选择了一个默认模块 resources.frontController.defaultModule = "applicant" 因此,一些控制器类的命名如下: class IndexController extends Zend_Controller_Action /* in Applicant Module */ class Company_IndexController extends Zend_Controller_Action class Admin_IndexController extends Zend_Controller_Action 由于申请人是我的默认模块,因此我不需要在课程名称中使用模块名称作为前缀. 如何使用前缀方式在默认模块中命名类? 我想使用这些类名 class Applicant_IndexController extends Zend_Controller_Action class Company_IndexController extends Zend_Controller_Action class Admin_IndexController extends Zend_Controller_Action 但我收到这个错误: Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)' in ZendFramework-1.11.6/library/Zend/Controller/Dispatcher/Standard.php on line 248 解决方法
如您所知,默认模块中的控制器名称不需要前缀(Ex:SomeController),而非默认模块中的控制器需要前缀(例如:Admin_SomeController).
在基于模块的应用程序中,我个人发现使用模块名称为所有控制器添加前缀更加一致.这是作为an issue提交的,并通过添加前端控制器设置prefixDefaultModule在apparently in version 1.5中修复. 因此,在application / configs / application.ini中,您可以添加: resources.frontController.prefixDefaultModule = true 我一直都在使用它,并认为它很棒. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |