فریم ورک چیست؟
فریمورکها در محیط های برنامه نویسی مختلف، شامل چارچوبی نرم افزاری است که به برنامه های نوشته شده نظم می بخشد. فریم ورک به طور کلی به مجموعه ای نسبتا کامل از کلاس ها (Class) گفته می شود که امکان افزایش سرعت کار را در روند برنامه نویسی فراهم و در عین حال انعطاف پذیری پروژه جهت توسعه و بروزرسانی های بعدی را افزایش می دهند.
در محیط برنامه نویسی PHP فریمورکهای زیادی وجود دارند از جمله : Laravel, Zend, CakePHP, Symfony, Yii, Phalcon و CodeIgniter
طی این مقاله نگاهی کوتاه به فریمورک CodeIgniter خواهیم داشت. قبل از شروع بحث نیاز است به این دو مفهوم اشاره کنیم:
مفهوم شی گرایی
در روند برنامه نویسی یک پروژه، بسیاری از عملیات و پردازش ها مشابه و تکراری هستند. برای مثال کنترل مقادیر وارد شده در فرم های متعدد و یا فراخوانی داده ها از دیتابیس را در نظر بگیرید. برای این پروسه های مشابه و تکراری می توان تنها از یک تکه کد (یک Class) بهره برد و به این ترتیب از هزینه های تولید، تا پشتیبانی و توسعه کاسته خواهد شد.
برنامه نویسی شی گرا (Object Oriented) یک راهکار یا الگوی برنامه نویسی، با هدف حذف کدهای تکراری (تا حد امکان)، در جهت افزایش قابلیت اعتماد و کاهش هزینه های تولید و نگهداری می باشد. در این الگو، مجموعه ای از صفات (attributes) و عملیات (operations) اشیا را تشکیل می دهند و می توان از این اشیا به طور مکرر در پروژه بهره برد و از پیچیدگی های تکراری داخل پروژه اجتناب کرد. هر کلاس شامل مجموعه ای از اشیا می شود که صفات و عملیات مشابهی دارند.
معماری Mvc
MVC که به فارسی می شود مدل-نما-کنترلگر یک معماری در برنامه نویسی است و به زبان ساده یعنی جدا کردن پوسته، از هسته پروژه. در معماری MVC پروژه به سه بخش اساسی مدل ها، نماها و کنترل گر ها تقسیم و سازماندهی می شود.
مدل ها در واقع شامل هسته سخت پروژه هستند و با دیتابیس ارتباط و پردازش های مرتبط را انجام می دهند.
نماها پردازش ها برای ارائه پوسته بیرونی را انجام و نتایج پردازش های بک اند (مدل ها و کنترلگر ها) را در قالب رابط کاربری ارائه می دهند.
کنترل کننده ها هم بخشی از بک اند پروژه هستند که مسئول ارتباط نماها با مدل ها می باشند. کنترل گر ها شامل پردازش های منطقی می شوند.
بعنوان مثال : 1. کاربر در صفحه ورود به سایت فرم را تکمیل و ارسال می کند. 2. کنترل کننده لاگین فراخوانی می شود 3. کنترلگر از مدل لاگین وضعیت کاربر را فراخوانی می کند 4. اطلاعات ورود در مدل لاگین تایید (یا رد) می شود 5. نمای خوش آمد برای نمایش به کاربر فراخوانی می شود. 6. نمای فراخوانی شده برای نمایش به کاربر، چاپ می شود.
هدف اساسی این معماری نرم افزاری، افزایش نظم، بهبود امکان توسعه و کاهش هزینه های نگهداری است. لازم به ذکر است که کلاس ها و مفهوم شی گرایی، ستون فقرات معماری MVC است. به زبان ساده، هر یک از اجزای MVC شامل تعدادی کلاس است که در تعامل با همدیگر پردازش های درخواستی را انجام و خروجی مناسب را ارائه می دهند.
CodeIgniter چیست؟
کدایگنایتر (به اختصار: CI) یکی از فریم ورک هایی است که برای زبان PHP ارائه شده و هدف اصلی آن حداکثر افزایش در سرعت برنامه نویسی نسبت به زمانی که پروژه را از پایه کدنویسی کنید، عنوان شده است. این فریمورک مجموعه ای از کتابخانه های ضروری و پرمصرف را فراهم کرده و براساس معماری MVC طراحی شده است. به ادعای توسعه دهندگانش با به حداقل رساندن کدهای مورد نیاز برای هر وظیفه، به برنامه نویس زمان بیشتری برای تمرکز بر جنبه های خلاقانه پروژه را می دهد.
ویژگی های فریمورک CI
1. حجم خیلی کم (حدود 3 مگابایت) و سرعت پردازش بالایی دارد.
2. نصب و راه اندازی آسان (کافیست آپلود و Extract کنید)
3. با هاست عادی و سرورهای اشتراکی و در نسخه های مختلف PHP قابل استفاده است.
4. تنظیمات اولیه خیلی کمی (تقریبا هیچ) نیاز دارد.
5. فریمورکی ساده است که زمان یادگیری و استفاده از آن برای برنامه نویس های آشنا با PHP بسیار کم (در حد چند روز) است.
6. نیازی به استفاده از Command Line ندارد.
7. از بانکهای اطلاعاتی زیادی پشتیبانی می کند.
8. راهنماها و مستندات کاملی برای استفاده از این فریم ورک موجود است.
اگر بعنوان برنامه نویس PHP تنها کار می کنید و یا یکی دو نفر همکار دارید، اگر به دنبال فریمورکی هستید که زمان زیادی برای یادگیری نخواهد، اگر علاقمند به فریمورکی با حجم کم و سرعت پردازش خوبید، اگر دوست دارید یا نیاز است پروژه تان دارای معماری MVC باشد، فریم ورک CodeIgniter برای شما ساخته شده است.
مایندمید بعنوان مشاور 24 ساعته کسب و کار آنلاین شما، در مراحل مختلف از آشنایی و یادگیری برنامه نویسی، اجرای ایده ها و توسعه پروژه های تحت وب بر پایه فریم ورک CI همراه شماست. هم اکنون می توانید تماس بگیرید.