نحوه کار کردن وب اپلیکیشنی که با Zend Framework 2 نوشته شده باشد



پیش از آن که بیش از این در فریم ورک زند 2 به کدزنی بپردازیم، نیاز است تا با فرایند کاری این فریم ورک محبوب زبان برنامه نویسی پی اچ پی بیشتر آشنا شویم.
در واقع زمانی که کاربری یک Request یا "درخواست" از طریق مرورگر برای سرور ارسال می کند، اولین فایلی که اجرا می شود فایل index.php است که داخل فولدر public قرار دارد. این فایل موتور اصلی ZF2 را اصطلاحاً Load می کند.
در فاز اول، وب اپلیکیشن و تمامی ماژول های فعال آن Load می شوند. موتور فریم ورک زند 2 پایان یک مرحله و ابتدای یک مرحله جدید را با ایجاد پیام هایی با یک نام منحصر به فرد مشخص سازی می کند که اصطلاحاً Event گفته می شوند که عبارتند از loadModules، loadModule.resolve، loadModule و loadModules.post.
به طور کلی منظور از Eventیی تحت عنوان loadModule این است که این Event زمانی اجرا می شود که لود شدن ماژول ها شروع می شود. معمولاً Autoloader ها با این Event ارتباط تنگاتنگی دارند.
Eventیی تحت عنوان loadModule.resolve صرفاً برای ماژول های فعال شده اجرا می شود. loadModule نیز برای ماژول های فعالی اجرا می شود که نام ماژول به یک شیئ اختصاص پیدا کرده باشد.
loadModules.post زمانی که همه ماژول ها لود شدند اجرای می گردد. این Event برای فراهم آوردن فرصتی برای ماژول ها به منظور انجام یکسری وظایف بیشتر مورد استفاده قرار می گیرد.
در این فاز، کلیه فایل های مرتبط با تنظیمات ماژول ها لود شده و با فایل های تنظیمات اصلی وب اپلیکیشن ادغام شده تا یک فایل تنظیمات نهایی شکل گیرد.
پس از اجرای موفقیت آمیز این فاز، متدی تحت عنوان onBootstrap که داخل فایل Module.php است اجرا می شود. در ادامه، فاز اجرایی وب اپلیکیشن آغاز می شود که در آن MVC به معنی واقعی کلمه شروع خواهد شد. در این مرحله یکسری Eventها من جمله route، dispatch، render و finish فراخوانی خواهند شد که در ادامه بیشتر با تک تک آن ها آشنا می شویم:
route پیش از هر چیز دیگری فراخوانی می شود. فرایند routing پارامترهای یک درخواست ارسالی از سمت مرورگر کاربر را مورد بررسی قرار داده که از آن جمله می توان به پارامترهای GET و POST اشاره کرد. علاوه بر این، routing اطلاعات در مورد ماژول، کنترلر و اکشنی که می بایست لود شوند در اختیار وب اپلیکیشن قرار خواهد داد.
dispatch زمانی اجرا می شود که اکشن استارت می خورد. در صورتی که درخواست رسیده مبنی بر نمایش نتیجه ای باشد، render فراخوانی خواهد شد و در نهایت هم finish فراخوانی می شود. به طور خلاصه، در این دو فاز، وب اپلیکیشنی که با فریم ورک زند 2 نوشته شده باشد به ترتیبی که در بالا گفتیم شروع به کار می کند.

تگ ها:
مطالب مرتبط
آشنایی با Routing در فریم ورک ZF2
آشنایی با Routing در فریم ورک ZF2
چگونه در فریم ورک زند 2 یک فرم ثبت نام بسازیم
چگونه در فریم ورک زند 2 یک فرم ثبت نام بسازیم
نحوه ساخت یک ماژول جدید در فریم ورک زند 2
نحوه ساخت یک ماژول جدید در فریم ورک زند 2
نظرات