درک ساده از MVC

78391-principles-of-mvc

درک روند اجرا در پروژه ها همیشه کار اعصاب خورد کنی هست، چه برسه به اینکه که نظم و ترتیب خاصی نداشته باشی و برای هر rule ی که داری، یه منطق متفاوت و یه شیوه اجرای متفاوت داشته باشی.

MVC یکی از اون روش هایی هست که گرچه پیچیدگی رو بالا می بره، اما بجاش روند Trace رو راحت تر می کنه و لااقل استاندارد هست.

mvc برپایه سه اصل model و view و controller بنا شده.

روند اجرای یک درخواست در mvc به اینصورت هست که درخواست کننده یا بازدید کننده یک url را درخواست می کند، url توسط url handler (در اینجا معمولاً فایل index.php) گرفته می شود و به پس از جداسازی دامین از request_uri ، request به router فرستاده می شود. router تصمیم می گیرد کدام کنترلر باید اجرا شود، کنترلر بر حسب اطلاعاتی که از requrest_uri به دست آورده، مدل مورد نیاز رو فراخوانی می کنه و بعد از اینکه مدل اطلاعات خواسته شده رو به کنترلر برگرداند، کنترلر اطلاعات رو به ویو (view) مناسب ارسال می کند. ویو در اینجا یک کلاس هست، کلاس ویو بسته به درخواست ممکن است چند کلاس ویو دیگر را فراخوانی کند و یا اینکه تنها اطلاعات رو به یک فایل template ارسال کند.

نکته مهم این است که باید دانست اینطور نیست که template تنها یک صفحه HTML باشد، template می تواند حاوی کدهای php مثل echo و for باشد. اما پردازش دیتا معمولاً در view و template جایی ندارد. مثلاً عبارت A=2+2 در view جایی ندارد.

برای درک mvc بهترین راه این است که شروع تمرین کنید. برای شروع بد نیست که سری هم به گیت هاب من بزنید و این پروژه رو clone کنید:

https://github.com/hamid80386/mvc

 

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *