Yii2 basic: структура приложения

В предыдущем посте мы рассмотрели роутинг в Yii2. В этой статье разберем структуру приложения «basic» фреймворка Yii2. Для дальнейшего изучения и создания проекта на Yii2, прежде всего, необходимо понимать структуру и принципы работы фреймворка.

Вот так выглядит листинг «basic» приложения после установки, создания и настройки файлов .htaccess.

Листинг Yii2 basic приложения

Пробежимся по всем директориям:

  • assets – в этой папке находится класс AppAsset, отвечающий за подключение стилей и скриптов JavaScript, установку зависимостей и алиасов путей приложения, также можно создавать пользовательские классы;
  • commands – здесь должны располагаться контроллеры консольных команд, из коробки там только тестовый HelloController;
  • config – здесь находятся конфигурационные файлы web-приложения, подключения к БД, конфигурационные файлы консольного и тестового приложения;
  • controllers – в данной директории размещаются все классы контроллеров web-приложения, пока там только дефолтный SiteController;
  • mail – здесь располагаются шаблоны и виды для отправляемых приложением писем по E-mail;
  • models – сюда складываются классы моделей web-приложения, из коробки в папке находятся три класса: User, LoginForm и ContactForm;
  • runtime – сюда помещаются временные файлы (кеш, логи и т.д.);
  • tests – здесь размещены разные инструменты для тестирования приложения;
  • vendor – содержит ядро фреймворка, сюда же складываются все библиотеки и расширения. В корне данной папки находится файл autoload.php, который является автозагрузчиком фреймворка и различных расширений;
  • views – в эту директорию размещаются виды (представления) web-приложения, а также шаблоны, которые располагаются в подпапке layouts;
  • web – содержит входной скрипт (фронт-контроллер) index.php и различные общедоступные файлы (стили, скрипты, картинки, шрифты и т.д.).

Кроме директорий в корне «basic» приложения находится несколько файлов, названия которых сами говорят за себя. Файл .htaccess мы уже разбирали, стоит выделить еще три файла:

  • composer.json – файл содержащий описание зависимостей приложения;
  • requirements.php – проверяет требования к web-серверу, чтобы фреймворк работал корректно;
  • yii – точка входа консольного приложения.

Жизненный цикл «basic» приложения

Жизненный цикл приложения – это процесс, который начинается при отправке запроса пользователя, а завершается при получении ответа на этот запрос. Рассмотрим поэтапно:

  • запрос с конфигурацией отправляется во входной скрипт web/index.php, где создается объект приложения;
  • обрабатывается запрос, в результате чего определяется маршрут (контроллер –> представление);
  • создаются объекты контроллера, модели и вида;
  • следуя маршруту, запускается представление;
  • ответ передается пользователю.

После того, как пользователь получил ответ, жизненный цикл приложения завершается. В следующих статьях подробно разберем контроллеры, модели и виды фреймворка Yii2.

Похожие записи:

Добавить комментарийОтменить ответ

Нажимая на кнопку «Добавить», я даю согласие на обработку своих персональных данных в соответствии с политикой конфиденциальности