یکی از ویژگی های چارچوب MVC استفاده از روش نامگذاری و ساختار استاندارد برای نرم افزار است، در این بخش به توضیح ساختار پروژه مبتنی وب در چارچوب  MVCپرداخته و فایل ها و پوشه های اصلی در این چارچوب را معرفی می کنیم.

در بخش قبلی اشاره کردیم به اینکه چارچوب MVC به پوشه ها و فایل های سایت ما نظم می دهد. در MVC هر نرم افزار تحت وب PHP حداقل دارای زیرپوشه ها و فایل هایی با نام های معین است.

شکل زیر ساختار درختی یک سایت نمونه با mvc را نشان می دهد:

ساختار پروژه بر اساس چارچوب MVC با زبان PHP

زیرپوشه ی  view: این زیرپوشه محل قرارگیری فایل های ویو برای رابط کاربری برنامه است.خود می تواند دارای چد زیرپوشه باشد. معمولاً به ازای هر جدول بانک اطلاعاتی یک زیر پوشه با نام جدول در آن ایجاد می کنند که حاوی  فایل های رابط کاربری (فایل هایی با پسوند .tpl ) مربوط به آن جدول است. مثلاً برای جدولی با نام stud   یک زیر پوشه به نام stud داخل پوشه view قرار می گیرد که فایل های داخل آن بصورت add.tpl برای افزودن دانشجو،  index.tpl برای نمایش لیست دانشجویان و… خواهد بود.

زیر پوشه ی model: این زیرپوشه محل قرار گرفتن فایل های مدل است ، دارای یک فایل model.php دارای امکانات اصلی و یک فایل مدل برای هر جدول است .معمولا نام فایل های داخل این پوشه با نام جدول شروع شده و با کلمه model تمام میشود. مثلاً فایل مدل مربوط به جدول stud به صورت stud_model.php خواهد بود.

زیرپوشه controller : این زیر پوشه محل قرارگیری فایل ها کنترولر برنامه است، دارای یک فایل controller.php دارای امکانات اصلی کنترولر و حداقل یک فایل کنترولر برا هر جدول می باشد.نام فایل های داخل آن با کلمه controller تمام می شوند مثل کنترولر مربوط به جدول stud که دارای نام stud_controller.php خواهد بود.

زیرپوشه ی images : برای نگهداری فایل های تصاویر و چندرسانه ای استفاده می شود.

زیرپوشه ی includes : برای نگهداری فایل های کتابخانه ای مثل تبدیل تاریخ، توابع کمکی و … استفاده می شود.

زیرپوشه utilities : حاوی فایل های کمکی است .

فایل index.php : فایل پیش فرض که برای هر نوع درخواستی از سرور این فایل اجرا خواهد شد. در این فایل ثابت هایی برای برنامه تعریف می شود که در جاهای مختلفی از کدنویسی استفاده خواهند شد و فایل های کتابخانه ای مثل فایل اتصال به بانک اطلاعاتی، فایل تبدیل تاریخ از میلادی به شمسی و غیره ضمیمه می شوند.

فایل bootstap.php : این فایل در زیرپوشه  utitilties  قرار گرفته و از داخل فایل index.php اجرا می شود. این فایل بعد از فایل index.php ، مهمترین فایل وب سایت است که تمام درخواست های کاربران در داخل این سایت تشخیص داده شده و دستورات لازم برای پاسخ به درخواست تعیین می شوند.

فایل config.php : که در پوشه اصلی قرار گرفته و تنظیمات اتصال به بانک اطلاعاتی در آن قرارداده می شود.

و پوشه ها و فایل های دیگر که بر حسب نیاز استفاده شده و در قسمت های بعدی توضیح داده خواهند شد. برای دریافت نمونه پروژه برنامه نویسی PHP در چارچوب MVC مشابه شکل فوق روی لینک زیر کلیک کنید.

دریافت نمونه پروژه MVC با چارچوب MVC

در صورت دانلود نمونه پروژه ، توجه داشته باشید که فایل amoozesh.sql حاوی اسکریپت بانک اطلاعاتی برای پروژه است که باید در محیط phpmyadmin وارد شود .

نکته ای که لازم است بدانید، اینکه ساختار و نامگذاری فوق ، یک پیشنهاد است و معمولاً تمام پروژه های PHP مبتنی بر MVC شامل این پوشه ها و فایلها هستند . ولی برنامه نویس می تواند نامگذاری ها را با توجه به سلیقه خود تغییر دهد، ولی نظم را نباید فراموش کند یعنی داشتن یک قاعده منظم و یکسان برای نامگذاری . بعنوان مثال اگر برای فایل مدل جدول news از نام newsModel.php استفاده می کند باید برای نامگذاری فایل های مدل دیگر جداول هم همین شکل را استفاده کند.

برنامه نویسی در چارچوب MVC بصورت شی گرا و لایه ای است در قسمت های بعدی برنامه نویسی شی گرا با PHP و برنامه نویسی در مدل چند لایه مرا مرور خواهیم کرد.