Единая точка входа в Yii

Сегодня не будем писать код, а разберем скрипт, который написали в предыдущей публикации.

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

Наша единая точка входа расположена в директории web.

Прежде, чем читать дальше. Назовите, сколько входных точек у нашего приложения? А в шаблоне basic или advanced. Ответ в конце публикации.

В Yii, обращении к приложению происходит через фронт-контроллер. И состоит из нескольких последовательных шагов:

  • Объявляются глобальные константы

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

  • Подключается загрузчик классов

Об автозагрузке классов мы говорили в другой публикации.

  • Подключается ядро Yii
  • Загружается конфигурация приложения

Наше приложение примитивное, а по мере роста функционала, можно очень гибко настроить конфигурацию в этом разделе. К этому разделу мы еще вернемся.

  • Создается объект приложения

Который обработает входящие данные, при помощи вызова этого объекта.

Ответ на вопрос в начале публикации! В нашем приложении одна точка входа. В шаблоне basic две, а advanced три. Почему? Потому что там есть еще консольное приложение. Я уже писал об использовании php в командной строке. В следующей публикации мы создадим консольную версию нашего приложения.

Исходники: https://github.com/nvrsk-yii2/app

Об авторе

Дмитрий Ли

Катаюсь на велосипеде, фотографирую. Люблю RESTful и Linux, пишу для web, в основном на PHP.

Просмотреть все сообщения

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

avatar
  Подписаться  
Уведомление о