سير التنفيذ
سير بدء العملية
بعد تنفيذ 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.
- تحديد ما إذا كان العنوان يطابق مسارًا ما. إن لم يطابق، الانتقال إلى الخطوة 3؛ وإن طابق، الانتقال إلى الخطوة 4.
- التحقق من كون المسار الافتراضي معطّلًا. إن كان نعم، إرجاع 404 (إنهاء الطلب). وإلا الانتقال إلى الخطوة 4.
- البحث عن وسطاء المتحكم المطابق للطلب، تنفيذ العمليات السابقة للوسطاء بالترتيب (مرحلة الطلب في نموذج البصل)، تنفيذ منطق الأعمال للمتحكم، تنفيذ العمليات اللاحقة للوسطاء (مرحلة الاستجابة في نموذج البصل)، وإنهاء الطلب. (راجع نموذج البصل للوسطاء)