নির্বাহ প্রবাহ
প্রক্রিয়া শুরুর প্রবাহ
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 এর নিচের স্ট্যাটিক ফাইলের সাথে মিলছে কিনা পরীক্ষা করা। হ্যাঁ হলে ফাইল ফেরত দিন (অনুরোধ শেষ)। না হলে ২ নম্বরে যান।
- URL কোনো রাউটের সাথে মিলছে কিনা নির্ণয় করা। মিললে না হলে ৩ নম্বরে; মিললে ৪ নম্বরে যান।
- ডিফল্ট রাউট বন্ধ করা হয়েছে কিনা পরীক্ষা করা। হ্যাঁ হলে 404 ফেরত দিন (অনুরোধ শেষ)। না হলে ৪ নম্বরে যান।
- অনুরোধের সংশ্লিষ্ট কন্ট্রোলারের মিডলওয়্যার খুঁজে, ক্রমানুসারে মিডলওয়্যারের প্রাক-অপারেশন নির্বাহ করা (পিঁয়াজ মডেল অনুরোধ পর্যায়), কন্ট্রোলারের ব্যবসায়িক লজিক নির্বাহ করা, মিডলওয়্যারের উত্তর-অপারেশন নির্বাহ করা (পিঁয়াজ মডেল প্রতিক্রিয়া পর্যায়), অনুরোধ শেষ। (মিডলওয়্যার পিঁয়াজ মডেল দেখুন)