निष्पादन प्रवाह

प्रक्रिया प्रारंभ प्रवाह

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) में सेट किए गए मिडलवेयर लोड करना
    ③ config/bootstrap.php (समेत config/plugin/*/*/bootstrap.php) में सेट किए गए कक्षाओं का start मेथड निष्पादित करना, मॉड्यूल आरंभ करने के लिए जैसे Laravel डेटाबेस कनेक्शन
    ④ config/route.php (समेत config/plugin/*/*/route.php) में परिभाषित रूट लोड करना

अनुरोध प्रसंस्करण प्रवाह

  1. जाँच करना कि अनुरोध URL public के अंतर्गत स्टेटिक फ़ाइल से मेल खाता है या नहीं। हाँ तो फ़ाइल वापस करें (अनुरोध समाप्त)। नहीं तो चरण 2 पर जाएँ।
  2. निर्धारित करना कि URL किसी रूट से मेल खाता है या नहीं। मेल नहीं खाता तो चरण 3 पर; मेल खाता तो चरण 4 पर जाएँ।
  3. जाँच करना कि डिफ़ॉल्ट रूट बंद है या नहीं। हाँ तो 404 वापस करें (अनुरोध समाप्त)। नहीं तो चरण 4 पर जाएँ।
  4. अनुरोध के अनुरूप नियंत्रक के मिडलवेयर ढूँढना, क्रम में मिडलवेयर पूर्व-संचालन निष्पादित करना (प्याज मॉडल अनुरोध चरण), नियंत्रक व्यावसायिक तर्क निष्पादित करना, मिडलवेयर उत्तर-संचालन निष्पादित करना (प्याज मॉडल प्रतिक्रिया चरण), अनुरोध समाप्त। (मिडलवेयर प्याज मॉडल देखें)