Quy trình thực hiện

Quy trình khởi động tiến trình

Sau khi thực hiện php start.php start, quy trình thực hiện như sau:

  1. Tải cấu hình từ thư mục config/
  2. Thiết lập các cấu hình liên quan đến Worker như pid_file, stdout_file, log_file, max_package_size v.v.
  3. Tạo tiến trình webman và lắng nghe cổng (mặc định là 8787)
  4. Tạo tiến trình tùy chỉnh dựa trên cấu hình
  5. Sau khi tiến trình webman và tiến trình tùy chỉnh được khởi động, thực hiện logic sau (tất cả đều diễn ra trong onWorkerStart):
    ① Tải các tệp được thiết lập trong config/autoload.php, như app/functions.php
    ② Tải middleware được thiết lập trong config/middleware.php (bao gồm cả config/plugin/*/*/middleware.php)
    ③ Thực hiện phương thức start của các lớp được thiết lập trong config/bootstrap.php (bao gồm cả config/plugin/*/*/bootstrap.php), dùng để khởi tạo một số mô-đun, chẳng hạn như kết nối cơ sở dữ liệu Laravel
    ④ Tải định nghĩa tuyến đường trong config/route.php (bao gồm cả config/plugin/*/*/route.php)

Quy trình xử lý yêu cầu

  1. Kiểm tra xem URL yêu cầu có tương ứng với tệp tĩnh trong thư mục public hay không, nếu có thì trả về tệp (kết thúc yêu cầu), nếu không thì chuyển sang 2
  2. Kiểm tra xem URL có trúng một tuyến đường nào không, nếu không trúng chuyển sang 3, nếu trúng chuyển sang 4
  3. Kiểm tra xem có tắt tuyến đường mặc định hay không, nếu có thì trả về 404 (kết thúc yêu cầu), nếu không thì chuyển sang 4
  4. Tìm middleware của bộ điều khiển tương ứng với yêu cầu, thực hiện các thao tác trước middleware theo thứ tự (giai đoạn yêu cầu mô hình hành tây), thực hiện logic nghiệp vụ của bộ điều khiển, thực hiện các thao tác sau middleware (giai đoạn phản hồi mô hình hành tây), kết thúc yêu cầu. (tham khảo mô hình Middleware hành tây)