নির্বাহ প্রবাহ

প্রক্রিয়া শুরুর প্রবাহ

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