Laravel (5.7) Запрос жизненного цикла
Вступление:
Важно понимать внутреннюю работу любого инструмента, с которым вам дано работать, полное понимание этого инструмента позволит вам использовать всю мощь, которая поставляется с инструментом. В этом случае понимание того, как работает Laravel под капотом, поможет нам использовать всю его удивительную «мощь». Когда мы хотим узнать больше о фреймворке laravel, лучше всего начать с жизненного цикла запроса. Он определяет, что происходит между запросом http к нашему приложению и до ответа. Детальное изучение жизненного цикла запроса поможет нам лучше понять структуру laravel.
Обзор жизненного цикла
Все в приложении laravel начинается с файла index.php, находящегося в публичном каталоге. Файл index.php так важен, потому что любой вызов или запрос в наше приложение будет изначально направляться к нему. В файле index.php приложение сохраняется как экземпляр приложения, который также можно назвать контейнером службы. За кулисами в сервисном контейнере происходят разные вещи. Одним из них является регистрация и хранение основных классов, которые можно использовать позже.
HTTP-ядро
Ядро HTTP находится в приложении / Http / Kernel.php, в этом файле зарегистрированы все промежуточные программы приложения, такие как группы промежуточных программ и промежуточные программы маршрутизации. Ядро http - это следующее место, куда отправляется входящий запрос. Он получает запрос и возвращает ответ. Все это выполняется с помощью метода handle, доступного для класса Kernel. Как только метод handle распознает HTTP-запрос, он возвращает HTTP-ответ. Класс Kernel расширяет класс IlluminateFoundationHttpKernel, который содержит метод начальной загрузки. Этот метод проверяет, было ли наше приложение уже загружено. Если нет, метод bootstrap запускается на множестве классов для начальной загрузки приложения. Он загружает файл конфигурации, загружает также переменные среды, обрабатывает исключения, регистрирует фасады, а также регистрирует поставщиков услуг приложения. Поставщики услуг по умолчанию приложения хранятся в каталоге app / Providers.
Предыдущая: Laravel (5.7) Развертывание
Следующая: Laravel (5.7) Сервисный контейнер
Новый контент: Composer: менеджер зависимостей для PHP , R программирования