Любой веб-сайт, основанный на ZF3 (включая и скелетное приложение) организован одним и тем же рекомендуемым способом. Конечно, вы можете сконфигурировать свое приложение, чтобы оно использовало другую структуру директорий, но это может усложнить поддержку вашего веб-сайта другими людьми, которые не знакомы с таким расположением директорий.
Давайте бегло взглянем на типичную структуру директорий (см. рис. 2.1):
Как вы видите, в корневом каталоге (далее мы будем называть его APP_DIR
)
находятся несколько файлов:
composer.json
- JSON-файл конфигурации Composer.
composer.lock
- файл, содержащий информацию о пакетах, установленных через Composer.
composer.phar
- исполняемый PHP-архив, содержащий код менеджера зависимостей Composer.
docker-compose.yml
и Docker
- вспомогательные файлы, используемые в том случае, если вы пользуетесь
инструментом управления контейнерами Docker.
Использование Docker в этой книге мы рассматривать не будем.
LICENSE.txt
- текстовый файл, содержащий лицензию ZF3 (вы могли прочитать ее в разделе
Введение в Zend Framework 3).
Не удаляйте и не изменяйте этот файл, так как это нарушает лицензию.
README.md
- текстовый файл, содержащий краткое описание скелетного приложения. Как правило,
вы будете заменять содержимое этого файла информацией о вашем сайте: его названии, что он делает,
как его установить.
TODO.md
- вспомогательный файл, который можно безопасно удалить.
Vagrantfile
- вспомогательный файл, содержащий настройки для Vagrant, менеджера
виртуальной среды разработки. Вы можете игнорировать этот файл, если не знаете, что такое Vagrant. В этой книге мы не будем использовать Vagrant.
Также у нас есть несколько подкаталогов:
Каталог config
содержит файлы конфигурации приложения.
Каталог data
содержит данные, которые может создать ваше приложение; он также может содержать кэш, используемый, чтобы ускорить работу Zend Framework.
Каталог module
содержит все модули приложения. На данный момент у нас есть
один единственный модуль Application
. Application
- это главный модуль вашего сайта.
Вы также можете добавить сюда другие модули, если хотите. Мы поговорим о
модулях чуть позже.
Каталог vendor
содержит файлы сторонних библиотек, включая файлы библиотеки Zend Framework 3.
Как правило, этот каталог занят Composer'ом.
Каталог public
содержит данные, доступные пользователю. Как вы видите, пользователи в основном будут
взаимодействовать с index.php
, который также называется точкой входа вашего сайта)
У вашего сайта будет одна точка входа, index.php, потому что это безопаснее, чем разрешать всем иметь доступ к вашим PHP-файлам.
Внутри каталога public
вы также найдете скрытый файл .htaccess
. Его главной целью
является определение правил перезаписи URL.
Каталог public
содержит несколько подкаталогов, также доступных пользователям:
css
содержит все общедоступные CSS-файлы;fonts
содержит веб-шрифты данного приложения;img
содержит общедоступные изображения (.JPG, .PNG, .GIF, .ICO, и т.д.);js
хранит общедоступные JavaScript-файлы, используемые вашими веб-страницами.
Обычно здесь хранятся файлы jQuery, но вы также можете разместить здесь свои JavaScript-файлы. Что такое библиотека jQuery?
jQuery - это библиотека JavaScript, созданная, чтобы упростить клиентские скрипты HTML-страниц. Механизм селекторов jQuery позволяет легко прикрепить обработчик событий к определенным HTML-элементам, что сильно упрощает создание интерактивных HTML-страниц.
Так как Zend Skeleton Application хранится на GitHub, внутри структуры каталогов вы можете найти
скрытый файл.gitignore
. Это файлы системы контроля версий GIT.
Вы можете игнорировать их (или даже удалить, если не собираетесь хранить ваш код в репозитории GIT).