در این آموزش به معرفی فریم ورک کدایگنایتر و معماری MVC می پردازیم.
قصد داریم فریمورک Codeigniter را به شما آموزش دهیم و دلیل این انتخاب نیز ساده بودن در کنار قدرت و انعطافپذیری این فریمورک است.
فریمورکها در واقع کلاسهای منسجم و از پیش آمادهای هستند که برنامهنویسی را برای ما لذتبخشتر، سادهتر و البته امنتر میکنند. فریمورکهای زیادی برای پیاچپی ساخته شده که از جمله مهمترین و پرکاربردترین آنها میتوان به CakePHP، Codeigniter، Laravel، Symfony، Zend و… اشاره کرد. ما در این سری آموزشی به سراغ Codeigniter رفتهایم.
Codeigniter یک فریمورک ساده و قدرتمند برای توسعه اپلیکیشنهای تحت زبان PHP است. این فریمورک نیز همانند اکثر نمونههای مشابه به طور کامل از ساختار MVC پشتیبانی میکند و شامل تعداد زیادی کلاس از پیشآماده با امکانات بالا است که میتوان از تمامی آنها استفاده کرد. مهمتر اینکه فریمورک یاد شده کاملا رایگان بوده و جامعهی پشتیبان بسیار فعالی نیز دارد.
استفاده از فریمورک باعث میشود با نوشتن کد کمتر، یک اپلیکیشن کاربردیتر، قدرتمندتر، منعطفتر و امنتر را تولید کرد.
در بخش آموزش برنامهنویسی شیءگرا شما را با کلاسهای پیاچپی آشنا کردیم و لازم است پیش از شروع یادگیری فریمورک، ابتدا آن مباحث را به طور کامل آموخته باشید. MVC مخفف عبارت Model-View-Controller است. در واقع با این ساختار کدهای مختلف هرکدام در جای مخصوص به خود قرار میگیرند و به عنوان مثال فایلهای مربوط به ظاهر سایت جدا از فایلهای مربوط به ارتباط با بانک اطلاعاتی قرار میگیرند. به این شکل ساختار پروژهها مسنجمتر شده و توسعهی آنها در ادامه چه توسط سازنده و چه توسط دیگر توسعهدهندگان آسانتر خواهد شد.
MVC چیست؟
MVC همانطور که گفتیم سرنام سه کلمهی Model (مدل)، View (ویو) و Controller (کنترلر) است. این ساختار یک الگوی برنامهنویسی تلقی میشود که در توسعهی اپلیکیشنهای تحت وب بهکار میرود. ساختار یاد شده باعث میشود تا بخش رابط کاربری و کدهای مربوط به عملیات مختلف مجزا توسعه داده شوند.
با استفاده از روش MVC، توسعهدهندگان میتوانند رابط کاربری مورد نظر یا بخش Back end (کدهای عملیاتی) را بدون نیاز به تغییر در دیگر فایلها، ویرایش کنند. با امکان استفادهی مجدد از مدلها و ویوها در روش MVC میتوان انعطاف کد را بیشتر کرد. ساختار یاد شده به شکل شماتیک به صورت زیر است:
Model (مدل):
مدلها در روش MVC با دادهها سروکار دارند و نیز مواردی چون ارتباط با بانکهای اطلاعاتی از طریق مدلها انجام میشوند. فایلهای مدل شامل توابعی مثل درج اطلاعات در دیتابیس یا انتخاب دادههایی خاص از بانک داده میشود.
View (ویو یا نما):
فایلهای نما یا ویو کار نمایش دادن اطلاعات و رابط کاربری را انجام میدهند.
Controller (کنترلر):
کنترلر به عنوان یک رابط بین فایلهای مدل و ویو عمل میکند. در واقع با استفاده از کنترلرها میتوان فایلهای مدل و ویو را مدیریت کرد.
در این ویدئو روش اینکار را به شما آموزش میدهیم.