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:
- Tải cấu hình từ thư mục config/
- 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. - Tạo tiến trình webman và lắng nghe cổng (mặc định là 8787)
- Tạo tiến trình tùy chỉnh dựa trên cấu hình
- 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 trongconfig/autoload.php
, nhưapp/functions.php
② Tải middleware được thiết lập trongconfig/middleware.php
(bao gồm cảconfig/plugin/*/*/middleware.php
)
③ Thực hiện phương thứcstart
của các lớp được thiết lập trongconfig/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 trongconfig/route.php
(bao gồm cảconfig/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 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
- 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
- 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
- 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)