Автозагрузчик Magento представляет собой простой алгоритм «заменить подчеркивание на косую черту». Поскольку Zend Framework называет свои контроллеры по-разному, а Magento использует части Zend и вдохновлен Zend в других, его контроллеры названы по соглашениям Zend и помещены в папку controllers
, что означает, что стандартная процедура автозагрузки не будет работать.
В итоге классы контроллеров автоматически включаются во время процесса маршрутизации Magento , но НЕ в автозагрузчик PHP. Вместо этого есть специальный код PHP, чтобы справиться с этим.
Итак, во время маршрутизации, поскольку вы сказали Magento использовать ваши контроллеры вместо контроллера Magento для конкретного запроса, это единственный контроллер, который включается.
Наилучшим предположением является то, что запрос на переопределения контроллера застал первоначальных разработчиков врасплох, и хотя они были рады представить решение с маршрутизацией, приоритетной задачей для рефакторинга кода автозагрузки контроллера не было.