การดำเนินการ
ขั้นตอนการเริ่มกระบวนการ
เมื่อเรียกใช้คำสั่ง php start.php start
ขั้นตอนการดำเนินการจะเป็นดังนี้:
- โหลดการกำหนดค่าจากโฟลเดอร์ config/
- ตั้งค่าที่เกี่ยวข้องกับ Worker เช่น
pid_file
stdout_file
log_file
max_package_size
เป็นต้น - สร้างกระบวนการ webman และฟังพอร์ต (ค่าปริยายคือ 8787)
- สร้างกระบวนการที่กำหนดเองตามการกำหนดค่า
- หลังจากที่กระบวนการ 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
)
ขั้นตอนการจัดการคำขอ
- ตรวจสอบว่า URL ที่ร้องขอตรงกับไฟล์สถิติตรงโฟลเดอร์ public หรือไม่ ถ้าใช่ให้ส่งคืนไฟล์ (สิ้นสุดคำขอ) ถ้าไม่ใช่ให้ไปที่ข้อ 2
- ตรวจสอบว่า URL ตรงกับเส้นทางใดเส้นทางหนึ่งหรือไม่ ถ้าไม่ตรงให้ไปที่ข้อ 3 ถ้าตรงให้ไปที่ข้อ 4
- ถ้าได้ปิดเส้นทางเริ่มต้นไว้ ให้ส่งคืน 404 (สิ้นสุดคำขอ) ถ้าไม่ให้ไปที่ข้อ 4
- ค้นหาสิ่งที่ middleware ที่ตรงกับตัวควบคุมตามคำขอ จากนั้นดำเนินการตามลำดับของการดำเนินการเบื้องต้นของ middleware (ขั้นตอนการร้องขอแบบ Onion Model) ดำเนินการตามตรรกะทางธุรกิจของตัวควบคุม และดำเนินการตามลำดับของการดำเนินการหลังจาก middleware (ขั้นตอนการตอบสนองแบบ Onion Model) คำขอสิ้นสุด (ดูข้อมูลเพิ่มเติมที่ Middleware Onion Model)