正确的Zend Framework中MVC文件夹结构的方式

时间:2012-02-21 12:41:26

标签: zend-framework zend-framework-mvc

我在MVC中的文件夹命名有问题,这就是为什么会出现以下错误。

Fatal error: Uncaught exception 'Zend_View_Exception' with message    'script'browsing-
history/browsinghistory.phtml' not found in path (C:/xampp/htdocs/test_app/application 
/views\scripts/)' in C:\xampp\htdocs\test_app\library\Zend\View\Abstract.php:988 Stack 
trace: #0 C:\xampp\htdocs\test_app\library\Zend\View\Abstract.php(884):  
Zend_View_Abstract->_script('browsing-histor...') #1 C:\xampp\htdocs\test_app\library
\Zend\Controller\Action\Helper\ViewRenderer.php(900): 
Zend_View_Abstract->render('browsing-histor...') #2 C:\xampp\htdocs\test_app\library
\Zend\Controller\Action\Helper\ViewRenderer.php(921): 
Zend_Controller_Action_Helper_ViewRenderer->renderScript('browsing-histor...', NULL) 
#3 C:\xampp\htdocs\test_app\library\Zend\Controller\Action\Helper
\ViewRenderer.php(960): Zend_Controller_Action_Helper_ViewRenderer->render() #4 
C:\xampp\htdocs\test_app\library\Zend\Controller\Action\HelperBroker.php(277): 
Zend_Controller_Action_Helper_ViewRenderer->postDispatch() #5 C:\xampp\htdocs\test_app
\library\Zend\Controller\Action.php in C:\xampp\htdocs\test_app\library\Zend\View
\Abstract.php on line 988

这是我的控制器

class BrowsingHistoryController extends Zend_Controller_Action{//my actions }

这是我的行动

public function browsinghistoryAction(){}

这是脚本中的文件夹结构

scripts
 ->BrowsingHistory
   ->browsinghistory.phtml

我为我的控制器做了同样的事情,工作正常,不知道为什么这不起作用?任何想法

3 个答案:

答案 0 :(得分:2)

您只需将BrowsingHistory下的/scripts文件夹重命名为浏览历史记录,您的问题就会消失!

基本上,控制器和操作都在camelCase中,但是脚本不是,你只需要用小写字母转换和替换每个大写字母并添加一个短划线如下:

  • camelCase 变为驼峰
  • camelCaseTest 变为驼峰案例测试
  • BrowsingHistory 变为浏览历史记录

答案 1 :(得分:0)

  Controller Name = Directory Name
  Action     Name = file.phtml

答案 2 :(得分:-1)

尝试以下结构:

application/
    browsinghistory/
        controllers/
            BrowsinghistoryController.php
        models/
        views/
            scripts/
                browsinghistory/
                   browsinghistory.phtml

并将您的控制器名称更改为BrowsinghistoryController

class BrowsinghistoryController extends Zend_Controller_Action{//my actions }