Устранение необходимости в «контроллере» в имени файла контроллера Zend Framework - PullRequest
3 голосов
/ 14 января 2010

Как устранить необходимость использования суффикса «Контроллер» в имени файла контроллера Zend Framework? Просто становится утомительно вводить этот суффикс при создании контроллеров, а файл уже находится в папке контроллеров, так что это излишне.

Например, по умолчанию домашняя страница сайта переходит в «controllers / IndexController.php». Что если я захочу перейти в "controllers / Index.php"?

1 Ответ

5 голосов
/ 14 января 2010

Последняя часть имени класса жестко закодирована как «Контроллер» в Zend_Controller_Dispatcher_Abstract::formatControllerName().

Чтобы изменить его, вам нужно создать собственный класс Dispatcher, который реализует Zend_Controller_Dispatcher_Interface и переопределит функцию formatControllerName(). Затем назначьте экземпляр вашего нового Dispatcher на фронт-контроллер в вашем скрипте начальной загрузки с помощью $frontController->setDispatcher(), прежде чем вызывать dispatch().

Зачем вам в любом случае менять формат имени класса контроллера? Это не похоже на то, что PHP-файл появляется в URL-адресе запроса.

Звучит так, как будто вы ездите на велосипеде .

...