Я довольно новый пользователь Zend Framework, но я не новичок в PHP или программировании. Я просматривал код, чтобы попытаться понять, как все сочетается. Одна из частей, на которую я смотрел, - это то, как классы автоматически загружаются в систему. Я вижу:
- Zend_Application_Bootstrap ссылается на Zend/Application/Bootstrap.php
- Zend_Controller_Action ссылается на Zend/Controller/Action.php
- ... и т.д.
По сути, _ преобразуется в разделитель каталогов и загружается автоматически.
Чего я не понимаю (хотя я уверен, что есть веская причина), так это почему это соглашение не соблюдается для контроллеров действий?
- IndexController ссылается на Application/controllers/IndexController.php
Почему нет:
- Application_Controllers_Index -> /Application/Controllers/Index.php
- or
- Controllers_Index -> /Application/Controllers/Index.php
?
Я предполагаю, что добавление к классу суффикса где-то снижает некоторую сложность системы, с первого взгляда на структуру Zend все очень хорошо продумано - я не могу представить, что соглашения вводятся без веской причины.
Может ли кто-нибудь объяснить, почему контроллеры имеют префикс, или, что еще лучше, указать мне на некоторый код в ядре, показывающий, почему они должны иметь префикс?
Спасибо :)