У меня такая же проблема.
Ответ Билла мне не подходит - потому что я склонен делить свои модули не на «кто их видит», а на «то, что они делают». Например, «модулем форума» может управлять как администратор, так и публика.
Я пытаюсь использовать внешние модули, такие как admin, members, public - но тогда они используют другие модули, такие как 'forum / validatepost', 'forum / show персональная информация пользователей'.
Если бы кто-нибудь мог пролить свет на то, как они защищают внутренний модуль от публики, это было бы удобно. Я думаю, что ACL может быть ключом, но он все еще заставляет меня нервничать, когда доступ контролируется объектами, а не «файловой системой / .htaccess» и т. Д.
Чтобы ответить на вопрос PHPoet:
(i) Пути к каталогам контроллера модуля могут быть указаны вызовами фронт-контроллера:
например, см .: «12.11.2. Указание каталогов контроллера модуля» (Документы Zend Framework)
(ii) Пути к представлениям можно задать с помощью ViewRenderer (Помощник действий контроллера)
например см .: «Пример 12.12. Выбор другого скрипта вида '(Zend Framework Docs)
Играя вокруг, можно изменить пути по умолчанию к представлениям и контроллерам, тем самым освободив автозагрузчик для нормальной работы.
(Я не изучал, как работает автозагрузчик, но было бы разумно иметь какую-то систему картографирования для решения такого рода проблем.)