Процесс выполнения

Процесс запуска

После выполнения команды php start.php start процесс выполнения следующий:

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

Процесс обработки запросов

  1. Проверяется, соответствует ли URL запроса статическим файлам в public; если да, возвращается файл (завершение запроса), если нет, переходит к пункту 2
  2. Проверяется, попадает ли URL под какой-либо маршрут; если не попадает, переходит к пункту 3, если попадает, переходит к пункту 4
  3. Проверяется, отключен ли маршрут по умолчанию; если да, возвращается 404 (завершение запроса), если нет, переходит к пункту 4
  4. Находятся middleware контроллера, сопоставленного запросу, и последовательно выполняются предварительные операции middleware (этап запроса модели лука), выполняется бизнес-логика контроллера, выполняются последующие операции middleware (этап ответа модели лука), запрос завершается. (Смотрите модель лука middleware)