Правильный способ структуры папок MVC в Zend Framework

У меня есть проблема в именовании папок в 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 ответа

Решение

Вам просто нужно переименовать BrowsingHistory папка под /scripts в историю просмотров и ваша проблема исчезнет!

По сути, контроллеры и действия находятся в camelCase, а скрипты - нет, вам просто нужно преобразовать и заменить каждую заглавную букву строчными буквами и добавить тире следующим образом:

  • camelCase становится верблюжьим чехлом
  • camelCaseTest становится верблюжьим тестом
  • BrowsingHistory становится историей просмотра
  Controller Name = Directory Name
  Action     Name = file.phtml

Попробуйте следующую структуру:

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

и измените имя вашего контроллера на BrowsinghistoryController:

class BrowsinghistoryController extends Zend_Controller_Action{//my actions }
Другие вопросы по тегам