زبان PHP محبوبیت زیادی بین برنامه نویسان دارد و در حال حاضر پرکاربردترین زبان سمت سرور دنیا به حساب میآید. زبان PHP به تنهایی کاملا نیازهای برنامه نویسان را برآورده میکند، اما گاهی وقتها به خاطر مزایایی که فریم ورکهای PHP دارند، برنامه نویسان سراغ آنها میروند. یکی از معروفترین فریم ورکهای PHP کدایگنایتر است. CodeIgniter بسیار قدرتمند بوده و به برنامه نویسان PHP کمک میکند در زمان کم و بدون پیچیدگی زیاد، یک برنامه تحت وب با قابلیتهای بسیار متنوع طراحی و برنامه نویسی کنند. در این مطلب بررسی کردیم که فریم ورک کدایگنایتر چیست و چه کاربردهایی دارد.
شرکت معروف نرم افزاری EllisLab در تاریخ 28 فوریه سال 2006 برای اولین بار CodeIgniter را به صورت عمومی عرضه کرد. نسخه اولیه این سرویس چیزی بیشتر از چند کلاس همه منظوره (general-purpose) نبود که آن هم از پروژه ExpressionEngine ( یک سیستم مدیریت محتوا ساخته شده توسط EllisLab ) گرفته شده بود. اما به مرور زمان کدایگنایتر بزرگتر شد و قابلیتهای جدیدی به آن اضافه گردید. هر چند امروزه بازار فریم ورکهای PHP بسیار داغ شده است، اما کدایگنایتر از مدتها قبل قدرت زبان برنامه نویسی PHP و پتانسیلی که برای ساخت فریم ورک داشت را به رخ بقیه کشید.
شرکت EllisLab در جولای سال 2013 اعلام کرد که شرایط لازم برای نگهداری و توسعه کدایگنایتر را ندارد و تصمیم گرفت مالکیت کدایگنایتر را واگذار کند. کمتر از یک سال بعد یعنی در 6 اکتبر 2014 مالکیت این فریم ورک از EllisLab به موسسه فناوری بریتیش کلمبیا سپرده شد.
کدایگنایتر یک فریم ورک PHP بر پایه الگو MVC (model–view–controller) با تمرکز روی توسعه سریع سرویسهای تحت وب است. Codeigniter رایگان و متن باز است و به برنامه نویسان کمک میکند با زبان PHP و چهارچوبهایی که این فریم ورک مشخص میکند سایتهای داینامیک و قدرتمند بسازند. سورس کدایگنایتر در گیت هاب وجود دارد و تحت لایسنس MIT ارائه شده است. در سال 2011 زمزمه هایی شنیده شد که کدایگنایتر مجوز خود را به OSL (Open Software License) تغییر میدهد اما چنین چیزی اتفاق نیفتاد.
نزدیک به 46.000 کمپانی از فریم ورک کدایگنایتر استفاده میکنند. بیشتر این شرکتها در آمریکا بوده و در حوزه فناوری اطلاعات و خدمات اینترنت فعال هستند. بیشتر این شرکتها بین 10 تا 50 نفر نیروی انسانی داشته و سالانه به طور متوسط درآمد 1 تا 10 میلیون دلاری دارند. نیسان یکی از معروفترین برندهای تولید خودرو در جهان است و برای معرفی و فروش محصولات خود از فریم ورک کدایگنایتر در سایتهای خود استفاده کرده است. یکی دیگر از سایتهای معروف ساخته شده با کدایگنایتر، Buffer میباشد که در حوزه شبکههای اجتماعی فعال است.
اگر شما با زبان PHP آشنا هستید و مفاهیم MVC را میشناسید، شروع کار با کدایگنایتر برایتان بسیار آسان خواهد بود. کدایگنایتر میتواند انتخاب خوبی برای کسانی باشد که تازه برنامه نویسی PHP را به طور جدی شروع کرده اند. برخلاف لاراول نصب کدایگنایتر بسیار آسان است و نیازی به انجام هیچ کاری پیچیده این ندارد اما در لاراول شما باید Composer را بشناسید و بتوانید با آن کار کنید. این فریم ورک با مستندسازی قدرتمندی ارائه شده و دورههای آموزشی فراوانی برای آن وجود دارد. توابع، کلاسها و کتابخانههای استفاده شده در CodeIgniter بسیار ساده هستند و به راحتی میتوانید از آنها استفاده کنید. اگر حین کار به مشکل پیچیده ای خورده اید میتوانید با جستجو در فرومها یا سایتهای مثل استک اورفلو مشکل خود را به کمک برنامه نویسان دیگر حل کنید.
CodeIgniter مزایای زیادی دارد تا بیشتر برنامه نویسان PHP را قانع کند که از این فریم ورک در پروژههای مختلف خود استفاده کنند. کدایگنایتر در بعضی از تستهای انجام شده از Zend، سیمفونی و CakePHP سریعتر بوده است. این فریم ورک ساختار منطقی و منظمی دارد و با مجموعه کاملی از کتابخانهها ارائه شده است. عملیاتهای رایجی که به طور گسترده در برنامههای تحت وب به کار گرفته میشوند مثل کار با دیتابیس، ارسال ایمیل، اعتبارسنجی فرم ها، مدیریت نشست ها، کار با تصاویر و غیره در کدایگنایتر به آسانی انجام میشود. در ادامه بعضی از مهمترین مزایای CodeIgniter را مشاهده میکنید:
کدایگنایتر با اینکه مزایای زیادی دارد، اما مثل تمام سرویسهای دنیا معایب خاص خودش را هم دارد. البته این معایب آنقدر بزرگ یا مهم نیستند که استفاده از این فریم ورک را کنار بگذارید. یکی از مشکلات کدایگنایتر مربوط به نگهدای کدها است. امروزه کدنویسی تمیز و ماژولار اهمیت زیادی برای شرکتهای نرم افزاری دارد. به این شکل میتوانند محصول خود را را در آینده به راحتی بروز کرده یا قابلیتهای جدید به آن اضافه کنند. کدایگنایتر برخلاف سایر فریم ورکهای مدرن PHP، به طور پیش فرض از جداسازی ماژولها پشتیبانی نمیکند. به همین خاطر برنامه نویسان دیگر که میخواهند بعدا روی پروژه ما کار کنند، ممکن است به مشکل بخورند. یک ایراد دیگر مربوط به کتابخانههای این فریم ورک است که نسبت به رقبای خود از تعداد و تنوع کمتری برخوردار است.
کدایگنایتر فریم ورک سبک و کم حجم میباشد. فایل دانلودی کدایگنایتر نسخه 3، کمتر از سه مگابایت حجم دارد. کدایگنایتر از امنیت بالایی برخوردار است، برای مثال این فریم ورک با یک فیلتر امنیتی XSS ارائه میشود تا جلوی حملات XSS یا cross-site scripting را بگیرد. یا یکی دیگر از حملات رایج در وب، SQL Injection یا تزریق کد است که پایگاه داده را هدف قرار میدهد. در PHP یک فانکشن با نام mysql_real_escape_string() برای مقابله با این موضوع تعریف شده است اما کدایگنایتر از کتابخانهها و توابع داخلی برای جلوگیری از حملات SQL Injection استفاده میکند.
در این مطلب بررسی کردیم که کدایگنایتر چیست و چه استفاده هایی از آن میشود. CodeIgniter یک فریم ورک PHP برای توسعه سریع برنامههای تحت وب است. اگر به زبان PHP علاقه دارید و کمی هم با آن آشنا هستید، میتوانید کار با این فریم ورک را شروع کرده و مباحث دیگر را در ادامه کار یاد بگیرید. لازم نیست نگران بازار کار باشید چون برای زبان PHP و فریم ورکهای آن همیشه کار پیدا میشود. کدایگنایتر به راحتی قابل یادگیری است و یادگیری Syntax آن زمان زیادی از شما نمیگیرد، اما برای متخصص شدن در این فریم ورک راهی طولانی در پیش دارید و باید مرتب تمرین داشته و تجربه کسب کنید. اگر تجربه کار با فریم ورک کدایگنایتر را دارید خوشحال میشویم تجربیات خود را با ما و کاربران سون لرن به اشتراک بگذارید.
ببینید در کل همیشه بخصوص در ایران کار برای php و فریمورکهاش هست، اما مطمئنا لاراول خیلی فراگیرتر از این فریمورکه و فرصتهای بیشتری بهتون میده.