سير التنفيذ

سير بدء العملية

بعد تنفيذ php start.php start يكون سير التنفيذ كالتالي:

  1. تحميل الإعدادات تحت config/
  2. ضبط إعدادات Worker مثل pid_file و stdout_file و log_file و max_package_size وغيرها
  3. إنشاء عملية webman والاستماع على المنفذ (الافتراضي: 8787)
  4. إنشاء عمليات مخصصة وفقًا للإعدادات
  5. بعد بدء عملية 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)

سير معالجة الطلبات

  1. التحقق من كون عنوان URL للطلب مطابقًا لملف ثابت تحت public. إن كان نعم، إرجاع الملف (إنهاء الطلب). وإلا الانتقال إلى الخطوة 2.
  2. تحديد ما إذا كان العنوان يطابق مسارًا ما. إن لم يطابق، الانتقال إلى الخطوة 3؛ وإن طابق، الانتقال إلى الخطوة 4.
  3. التحقق من كون المسار الافتراضي معطّلًا. إن كان نعم، إرجاع 404 (إنهاء الطلب). وإلا الانتقال إلى الخطوة 4.
  4. البحث عن وسطاء المتحكم المطابق للطلب، تنفيذ العمليات السابقة للوسطاء بالترتيب (مرحلة الطلب في نموذج البصل)، تنفيذ منطق الأعمال للمتحكم، تنفيذ العمليات اللاحقة للوسطاء (مرحلة الاستجابة في نموذج البصل)، وإنهاء الطلب. (راجع نموذج البصل للوسطاء)