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

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

После выполнения команды 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)