فریمورک ها در واقع کلاسهای منسجم و از پیش آمادهای هستند که برنامهنویسی را برای ما لذتبخشتر، سادهتر و البته امنتر میکنند. استفاده از فریمورک باعث میشود با نوشتن کد کمتر، یک اپلیکیشن کاربردیتر، قدرتمندتر، منعطفتر و امنتر را تولید کرد.
فریمورکهای زیادی برای پیاچپی ساخته شده که از جمله مهمترین و پرکاربردترین آنها میتوان به CakePHP، Codeigniter، Laravel، Symfony، Zend و... اشاره کرد. طبق روالی که در پیش گرفته ایم ، در این مقاله به سراغ Codeigniter رفتهایم.
codeigniter یک فریم ورک رایگان و قوی پی اچ پی ( PHP Framework) و منبع باز (open source) است .
کدایگنیتر با استفاده از کتابخانه های خود، کار توسعه اپلیکیشن ها را بسیار سریع کرده است و به دلیل انعطاف بسیاری که دارد مورد توجه بسیاری از توسعه دهندگان وب قرار گرفته است.
این فریم ورک برای برنامه نویسانی که قصد استفاده از یک اپلیکیشن قوی همراه با امکانات کامل و ساده دارند، و همچنین بتوانند به راحتی آنرا توسعه دهندد، مناسب است.
Codeigniter یک فریمورک ساده و قدرتمند برای توسعه اپلیکیشنهای تحت زبان PHP است. این فریمورک نیز همانند اکثر نمونههای مشابه به طور کامل از ساختار MVC پشتیبانی میکند و شامل تعداد زیادی کلاس از پیشآماده با امکانات بالا است که میتوان از تمامی آنها استفاده کرد. مهمتر اینکه فریمورک یاد شده کاملا رایگان بوده و جامعهی پشتیبان بسیار فعالی نیز دارد.
CodeIgniter یا به اختصار CI ، در حقیقت یـه چهـارچوب یـا Frame Work به زبان php است که دارای دوره یادگیری بسیار کوتـاهی هسـت و بـرای php کارانی ساخته شده است که به دنبال یک ابزارساده و مناسب و سریع برای ایجادسایت هایی بــا تمام قابلیتها هستند.
CI یک فریم ورک سریع است به طوری که ایجاد کنندگان آن شما را برای پیدا کـردن فریـم ورکـی بـا performance بالاتر به چالش می کشند! در حقیقت CI یکی از بهترین گزینه ها برای اجرا بر روی هاست های به اشتراک گذاشته شده است و برای آنهایی است که از فریم ورک ها یا قالب های کاری سنگین و بزرگ کـه تمامـًا مسـتند نشده اند، خسته شد ه اند و به دنبال جایگزین می گردند. CI از الگـوی MVC یـا (Model-View-Controller ) اسـتفاده می کنـد و بـه ایـن ترتیـب به صورت کاملا اصولی و منطقی از خصوصیات شی گرایی php بهره مند شوید.
کدایگنایتر از الگوی معماری مدل-نما-کنترلگر سود میبرد. این فریمورک در بسیاری از ویژگیها و مفاهیم همانند روبی است.
در زیر لیستی از ویژگی های Codeigniter را آورده ایم:
- پشتیبانی از چندین پایگاهداده
- دستیابی به پایگاه داده از طریق الگوی ثبت
- مدیریت نشست
- اعتبارسنجی داده و فُرم
- کشگذاری همهٔ صفحه
- داربستبندی
- کلاس قالبگذار
- پشتیبانی از افزودن کلاس، افزونه و هوکس
اما دیگر ویژگیهایی که کدایگنایتر را متمایز میکند، عبارتند از:
- سازگاری با PHP ۴. بهکارگیری PHP۵ توانایی زنجیرسازی متدها را فراهم میکند.
- کد بسیار سبک
- نصب و ساختار پوشههای آسان
- ثبت خطاها
همچنین دیگر ویژگیهایی را ارایه میکند که هنوز در دیگر فریمورکها به طور پیشگزیده ارایه نشدهاست:
- امنیت و پالایش XSS
- کلاس فرستادن ایمیل که از پیوستها، ایمیلهای HTML ای یا متنی، پروتکلهایی چون SMTP، sendmail و Mail پشتیبانی میکند.
- کتابخانهٔ دستکاری تصویر (کارهایی چون: بریدن، چرخاندن، تغییر اندازه دادن و ...). پشتیبانی از GD، ImageMagic و NetPBM.
- کلاس بارکنندهٔ فایل
- کلاس FTP
- بومیسازی
- صفحهبندی
- رمزگذاری داده
- محکزنی
- کلاس تقویم
- کلاس User Agent جهت تشخیص مرورگر
- کلاس رمزگذاری فایلهای Zip
- کلاس Trachback
- کلاس XML-RPC
- کلاس آزمایش واحد (unit Testing)
- ساخت URLهای کاربرپسند
- کتابخانهای بزرگ از helperها
مزایای codeigniter به صورت جامع تر :
- بسیار سبک و سریع : دارای حجم بسیار کم میباشد از این جهت سرعت آن نیز بالاست (حجم در حدود ۲ مگابایت(
- عملکرد استثنایی: همواره بهتر از رقبای خود عمل میکند.
- سازگاری کامل با هاستینگ استاندارد: این برنامه تنها به PHP 5.2.4 نیاز دارد و با همه هاستینگ های استاندارد بخوبی کار میکند.
- رایگان و کد باز بودن : به راحتی میتوانید این برنامه را از سایت خودش بصورت رایگان دریافت و استفاده نمایید.
- انعطاف پذیر و قابل توسعه: به دلیل استفاده از کتابخانه های فراوان از انعطاف پذیری بالایی برخوردار است.
- پشتیبانی از پایگاه داده های مختلف: از انواع مختلف پایگاه داده پشتیبانی میکند. رایج ترین آنها MySQL است.
- بدون نیاز به قوانین برنامه نویسی: بدون آشنایی حرفه ای با قوانین کدنویسی میتوانید از آن استفاده کنید.
- شی گرا : این فریم ورک برپایه کدنویسی شی گرا ساخته شده است.
- یادگیری، نصب و استفاده آسان: دارای داکیومنت خوب و مناسب نسبت به سایر فریم ورک ها میباشد.
- پشتیبانی توسط تمامی سرویس دهندگان هاست
معایب فریم ورک Codeigniter
- عدم وجود تفکیک ماژولی به صورت پیش فرض. برای برخی از برنامه نویسان این خود یک مساله ی مهم است زیرا آنها ترجیح می دهند تا جایی که امکان دارد کد هایشان از یکدیگر مجزا باشد. اکتنشن های ماژولی برای این کار وجود دارد اما رضایت صد در صد را تامین نمی کنند.
- گاها شما مجبورید که بسیاری از فایل های هسته را توسعه دهید تا فریم ورک آن طوری که شما می خواهید کار کند. هر چه بیشتر به تغییر هسته بپردازید، در آینده باید زحمت بیشتری برای نگهداری متحمل شوید.
- از انجایی که نسخه ی ۲٫x فریم ورک CodeIgniter با نقص هایی مواجه بود، در نسخه های بعدی به رفع این نواقص پرداخته شد اما هنوز هم برخی موارد مانند $this>library و helper های عملکرد های پروسه ای و توسعه ی یک کلاس با قرار داد پیشوند MY_ قبل از اسم آن، به خوبی عمل نمی کند. شاید این نواقص در نسخه های ۳٫x رفع شود.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید