zend-framework – 无效的控制器指定错误,即使控制器存在
我有一个名为MenuItem的camelcased控制器名称.而且我也为这个特定的控制器创建了一个路由器
$routeMenuItem = new Zend_Controller_Router_Route('/menu-item/:action/:menu/:parent/:id/*',array( 'controller' => 'MenuItem','action' => 'index','menu' => 1,'parent' => 0,'id' => 0 )); 不,当我导航到这个路线时,让我们说/ menu-item / index / 2我得到一个错误,无效的控制器指定(MenuItem)错误. 但是我在linux环境下部署时遇到了这个问题.但是,在Windows环境中进行开发时,它可以正常工作. 怎么解决这个? 更多信息 控制器: File Name: MenuItemController.php Class Name: MenuItemController 堆栈跟踪 #0 /../library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http),Object(Zend_Controller_Response_Http)) #1 /../library/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch() #2 /../library/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run() #3 /../public/index.php(25): Zend_Application->run() #4 {main} 请求参数 array ( 'action' => 'index','menu' => '2','controller' => 'MenuItem','parent' => 0,'id' => 0,) 解决方法
这是因为Windows不区分大小写且基于Linux的操作系统.
从ZendFramework手册:
这意味着MenuItemController.php和MenuitemController.php是两个不同的东西,因此自动加载器无法找到匹配项. 通常,在使用多字控制器时,只需确保只有类的第一个字母和控制器中的C大写. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |