من ضمن سلسلة أدواتي، تحدثت سابقاً عن محرر لغات الويب aptana، في هذه التدوينة سأطرح بيئة أو إطار عمل للغة الويب PHP هذه البيئة هي CodeIgniter، ولكن قبل أن أتكلم عن مميزات هذه البيئة أحب أن أطرح أساليب عمل أي مشروع ويب وكيفية اختيار بيئة العمل المناسبة له.
بداية عندما يريد أي مطور ويب أن يعمل أي مشروع أو تطبيق ويب عليه أن يختار كيف يعمل وهو إما:
- Pure php.
- بيئة\إطار عمل مثل Codeigniter.
- CMS.
[أولاً]{style="color:#FF8C00;"} إذا اختار المطور الخيار الأول Pure PHP عندها عليه أن يقوم ببناء جميع المكونات بشكل يدوي أو أن يقوم بجلب مكون من هنا ومكون من هناك، فمثلاً وكأبسط مثال database class المسؤول عن إدارة الاتصال مع قاعدة البيانات فإما أن يعمل وفق التعليمات المدعومة من قبل PHP ومن عمل عليها يعرف عدد التعليمات التي يجب أن يكتبها لخلق اتصال مع قاعدة البيانات، أو أيقوم باستيراد class جاهز يؤمن هذه الوظيفة.
[[ثانياً]{style="color:#FF8C00;"} بيئة أو إطار العمل: تختلف عن سابقتها بتزويد المبرمج بمجموعة جاهزة من الصفوف والتوابع التي تختصر عليه عملية اختراع العجلة مثل كلاس الاتصال بقاعدة البيانات وغيرها، فإذا فائدتها الرئيسية هي اختصار زمن كتابة التوابع والصفوف الأساسية، إحدى الأمثلة على إطار العمل CodeIgniter - Zend ...]{style="font-family:arial,helvetica,sans-serif;"}
[[ثالثاً]{style="color:#FF8C00;"} نظام إدارة المحتوى CMS: يمكن تشبيه نظام إدارة المحتوى بأداة تقوم بإدارة موقعك، فنظرياً لن تكون مهمتك الرئيسية هي تصميم الموقع وإنما إدارته أي تقوم بتزويدك بواجهة أو لوحة تحكم تقوم بإضافة أو حذف المكونات من موقعك حسب رغبتك، إحدى الأمثلة عليها Wordpress و Drupal.]{style="font-family:arial,helvetica,sans-serif;"}
متى نستخدم كل بيئة؟!!
أولاً لا تتعب نفسك وتعمل Pure PHP حتى لا تقوم بخلق العجلة من جديد، فإذاً نحن الآن أمام خيارين هما هل استخدم إطار العمل أو نظام إدارة المحتوى..
حسناً الإجابة على هذا السؤال تتوقف على نوعية أو الوظيفة التي سيقوم بها موقعك أو تطبيقك فإذا كان موقعك تقليدي مثلاً موقع إعلاني أو مثلاً موقع وصفات طعام عندها نظام إدارة المحتوى سيكون كافي تماماً وذلك بسبب وضوح وشيوع الميزات المطلوبة. هذه المدونة تم بناؤها باستخدام نظام إدارة المحتوى Wordpress ولم يأخذ مني بناؤها سوى بضع ساعات.
بينما مثلاً في حال كنت ترغب ببناء تطبيق ويب لإدارة شركة ما، عندها قد ترغب بالحصول على بعض الحرية التي تعطيك إياها إطار العمل ولن تتقيد بالمزايا المحدودة بنظام إدارة المحتوى.
[بعد أن أخذنا فكرة سريعة جداً عن بيئات العمل لنرى ماهي ميزات CodeIgniter]{style="color:#FF8C00;"}
- تعمل بنظام Model - View - Controller.
- صغيرة الحجم خفيفة جداً وسريعة.
- تقريباً لاتحتاج إلى ضبط إعادادات فقط الإعدادات الأساسية (مثلاً قاعدة البيانات التي ستعمل عليها فقط!!!!).
- تحتوي على الكثير من الصفوف الجاهزة التي تختصر عليك الوقت، مثل Database - Email - File - Security ....
- صديقة محركات البحث، من خلال اعتماد نظام MVC.
- سهلة وسريعة التعلم، دليل المستخدم يعتبر الأفضل.
- ...
ويوجد الكثير من المزايا الجميلة يمكنك مشاهدتها من هنا، ونسيت أن أذكر أنها تعتبر من أكثر بيئات العمل انتشاراً.
إن كنت لم تعمل عليها سابقاً أنصحك بتحميلها والبدء بالتعلم عليها واستمتع :).