سير العمل
عملية تشغيل العملية
عند تنفيذ 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
② تحميل البرامج الوسيطة المحددة في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
- العثور على البرامج الوسيطة الخاصة بالتحكم في الطلبات، وتنفيذ العمليات المبدئية للبرامج الوسيطة بالترتيب (مرحلة الطلب لنموذج البصل)، تنفيذ منطق الأعمال في وحدة التحكم، وتنفيذ العمليات النهائية للبرامج الوسيطة (مرحلة الاستجابة لنموذج البصل)، ثم انتهاء الطلب. (راجع نموذج البصل للبرامج الوسيطة)