Процесс выполнения
Процесс запуска процесса
После выполнения команды php start.php start следующий будет процесс выполнения:
- Загрузка конфигурации из папки config/
- Установка настроек Worker, таких как
pid_file
,stdout_file
,log_file
,max_package_size
и т. д. - Создание процесса webman и прослушивание порта (по умолчанию 8787)
- Создание пользовательского процесса в соответствии с настройками
- После запуска процесса webman и пользовательского процесса выполняется следующая логика (все это выполняется в onWorkerStart):
① Загрузка файлов, установленных вconfig/autoload.php
, таких какapp/functions.php
② Загрузка настроек middleware изconfig/middleware.php
(включаяconfig/plugin/*/*/middleware.php
)
③ Выполнение файлаconfig/bootstrap.php
(включаяconfig/plugin/*/*/bootstrap.php
), где будет запущен метод start класса для инициализации модулей, таких как инициализация соединения с базой данных Laravel
④ Загрузка определенных маршрутов из файлаconfig/route.php
(включаяconfig/plugin/*/*/route.php
)
Процесс обработки запроса
- Проверка соответствия запрошенного URL статическому файлу в папке public; если да, возвращается файл (запрос завершается), если нет, выполняется следующий шаг
- Проверка соответствия URL какому-либо маршруту; если нет совпадений, выполняется шаг 3, если совпадение найдено, выполняется шаг 4
- Проверка отключения стандартного маршрута; если он отключен, возвращается ошибка 404 (запрос завершается), если нет, выполняется шаг 4
- Поиск middleware для контроллера, выполнение операций предобработки middleware (фаза запроса модели луковицы), выполнение бизнес-логики контроллера, выполнение операций постобработки middleware (фаза ответа модели луковицы), завершение запроса. (См. модель луковицы для middleware)