Quy trình thực thi
Quy trình khởi động tiến trình
Khi thực thi php start.php start, quy trình thực thi như sau:
- Tải cấu hình dưới config/
- Thiết lập cấu hình liên quan đến Worker như
pid_file,stdout_file,log_file,max_package_size, v.v. - Tạo tiến trình webman và lắng nghe cổng (mặc định: 8787)
- Tạo các tiến trình tùy chỉnh dựa trên cấu hình
- Sau khi tiến trình webman và các tiến trình tùy chỉnh được khởi động, thực hiện logic sau (tất cả trong
onWorkerStart):
① Tải các tệp được cấu hình trongconfig/autoload.php, nhưapp/functions.php
② Tải các middleware được cấu hình trongconfig/middleware.php(bao gồmconfig/plugin/*/*/middleware.php)
③ Thực thi phương thứcstartcủa các lớp được cấu hình trongconfig/bootstrap.php(bao gồmconfig/plugin/*/*/bootstrap.php) để khởi tạo các module, như kết nối cơ sở dữ liệu Laravel
④ Tải các route được định nghĩa trongconfig/route.php(bao gồmconfig/plugin/*/*/route.php)
Quy trình xử lý yêu cầu
- Kiểm tra xem URL yêu cầu có tương ứng với tệp tĩnh dưới public 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 bước 2.
- Xác định xem URL có khớp với route nào không. Nếu không khớp thì chuyển sang bước 3; nếu khớp thì chuyển sang bước 4.
- Kiểm tra xem route mặc định có bị tắt 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 bước 4.
- Tìm các middleware của controller tương ứng với yêu cầu, thực hiện thao tác tiền xử lý của middleware theo thứ tự (giai đoạn yêu cầu của mô hình củ hành), thực hiện logic nghiệp vụ của controller, thực hiện thao tác hậu xử lý của middleware (giai đoạn phản hồi của mô hình củ hành), kết thúc yêu cầu. (Xem Mô hình củ hành của Middleware)