निष्पादन प्रवाह
प्रक्रिया प्रारंभ प्रवाह
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) में सेट किए गए मिडलवेयर लोड करना
③config/bootstrap.php(समेतconfig/plugin/*/*/bootstrap.php) में सेट किए गए कक्षाओं काstartमेथड निष्पादित करना, मॉड्यूल आरंभ करने के लिए जैसे Laravel डेटाबेस कनेक्शन
④config/route.php(समेतconfig/plugin/*/*/route.php) में परिभाषित रूट लोड करना
अनुरोध प्रसंस्करण प्रवाह
- जाँच करना कि अनुरोध URL public के अंतर्गत स्टेटिक फ़ाइल से मेल खाता है या नहीं। हाँ तो फ़ाइल वापस करें (अनुरोध समाप्त)। नहीं तो चरण 2 पर जाएँ।
- निर्धारित करना कि URL किसी रूट से मेल खाता है या नहीं। मेल नहीं खाता तो चरण 3 पर; मेल खाता तो चरण 4 पर जाएँ।
- जाँच करना कि डिफ़ॉल्ट रूट बंद है या नहीं। हाँ तो 404 वापस करें (अनुरोध समाप्त)। नहीं तो चरण 4 पर जाएँ।
- अनुरोध के अनुरूप नियंत्रक के मिडलवेयर ढूँढना, क्रम में मिडलवेयर पूर्व-संचालन निष्पादित करना (प्याज मॉडल अनुरोध चरण), नियंत्रक व्यावसायिक तर्क निष्पादित करना, मिडलवेयर उत्तर-संचालन निष्पादित करना (प्याज मॉडल प्रतिक्रिया चरण), अनुरोध समाप्त। (मिडलवेयर प्याज मॉडल देखें)