Повторение папки приложения zf2 в "Модули / Приложение" и "Модули / Приложение /src/ Приложение"
Почему папка zf2 Application находится внутри Modules/ и Modules/Application/src? Я имею в виду... почему не структура Модули / Приложение / SRC / контроллер и т.д..?
2 ответа
Вы можете найти подробную информацию о новой структуре zf2 http://akrabat.com/zend-framework-2/modules-in-zf2/
Поскольку мы используем PHP 5.3, мы ожидаем, что классы в папке src будут иметь пространство имен. По умолчанию основным именем модуля считается его основное пространство имен, в данном случае Simple. Чтобы упростить автозагрузку и следовать соглашению PSR-0, мы создаем папку Простого пространства имен в src. Это означает, что пространством имен для класса SimpleController является Simple\Controller в файле src/Simple/Controller/SimpleController.php.
Это, очевидно, один из самых простых модулей, и вполне вероятно, что папка src / Simple будет иметь другие папки, такие как Model, Form и тому подобное. Кроме того, в папке просмотра, вероятно, будет больше подпапок для других контроллеров.
Модули предназначены для многоразовых контейнеров кода. Как таковые, они будут содержать все, что им нужно для выполнения этой задачи - которые могут (или не могут!) Включать контроллеры, модели, общедоступные ресурсы, конфигурацию, шаблоны представлений и многое другое.
Для того, чтобы различные части были семантически сгруппированы, каждая из них имеет свою собственную подпапку в модуле. Исходный код PHP находится в "src", и код в этом каталоге должен соответствовать соглашениям об именах PSR-0 - и, таким образом, вы увидите повторяющееся там пространство имен модуля. Конфигурация идет в "config", просмотр шаблонов в "view", публичные ресурсы в "public" и так далее.
Тем не менее, вы можете свободно организовывать свои модули так, как хотите, если их класс Module доступен для обнаружения и может указывать, как автоматически загружать классы и предоставлять конфигурацию для MVC. Тем не менее, структура, которую вы видите в ZendSkeletonApplication и ZendSkeletonModule, рекомендуется, так как является результатом большого мозгового штурма в сообществе, и обеспечивает чистую семантику для каждого типа предоставленных файлов.