بسم الله الرحمن الرحيم،
سأقوم بإكمال السلسلة ولكن أعدكم أنها ستكون بتواتر أعلى … أي إن شاء الله ستكون التدوينات شبه يومية.
بسم الله الرحمن الرحيم،
سأقوم بإكمال السلسلة ولكن أعدكم أنها ستكون بتواتر أعلى … أي إن شاء الله ستكون التدوينات شبه يومية.
بسم الله الرحمن الرحيم
السلام عليكم،
(اقرأ المزيد …)
سنبدأ بعد عدة أيام بسلسلة “تعلم الكيك وتطوير المواقع بالبيت” لكل من يود تعلم تطوير المواقع على إطار العمل المشهور CakePHP.
ملاحظة: يجب أن يكون مستواك بالـ PHP, CSS و Javascript جيداً كي تتمكن من المتابعة.
السلام عليكم ورحمة الله وبركاته،
عودة قريبة ولكن مفيدة … لي ولكم بإذن الله
الموضوع باختصار هو كيف ينظم المطور أو المبرمج وقته؟
بعد وقت طويل من عدم التنظيم في الوقت وهدر بعض الساعات في تصفح فارغ قررت أن أضع حداً لهذا كالتالي:
سأطبق هذه القيود على نفسي وأتمنى أن يتحسن من خلاله نظامي اليومي وتقل ساعات الهدر.
أما الأن فالفكرة الجميلة التي طرأت على ذهني هي استغلال هذا الموضوع بتعلم بعض أساسيات الكيك CakePHP عن طريق تطوير الخطوة الخامسة (قائمة المهمات to do list) بالكيك. ستكون عبارة عن سلسلة من التدوينات نمشي بها خطوة خطوة، حتى نكمل التطبيق “قائمة المهمات”. فرصة لتحسين مستواي عن طريق ملاحظاتكم وتجاربكم.
ما رأيكم؟؟ وهل ببال أحدكم اسم جميل للتطبيق؟؟
النسخة 1.2 حملت معها العديد من الخصائص المفيدة والجديدة فبماذا تميزت عن النسخة السابقة 1.1
أولاً: سأقوم باستعراض الميزات الأهم في النسخة 1.2:
بالإضافة إلى الكثير من الميزات الآخرى التي لايتسع المجال لذكرها وللمزيد عليك بقراءة الدليل الجديد للنسخة 1.2.
سأقوم باستعراض أهم الميزات الموجود في الكيك، والتي تساعدك أيما مساعدة في عملك التطويري.

1- ماهو الـ CakePHP؟
هو عبارة إطار عمل للغة PHP ومستوحى من الإطار الشهير Ruby on Rails، باختصار إنه إطار عمل لتسريع التطوير بلغة PHP وطريقهم بذلك هي “لا تعد اختراع العجلة” أي لا تكرر الشفرة المصدرية أكثر من مرة.
2- كيف أعرف إن كان الـ CakePHP مناسباً لي؟
4- لكن ماهي البنية الثلاثية (MVC)؟
هي بنية تستخدم لتطبيقات الويب، ومبدأها الأساسي هو فصل شفرتك المصدرية إلى ثلاثة أجزاء بشكل يسهل لك تطويرها واكتشاف الأخطاء فيها ويوفر عليك الوقت أيضاً. وهذه الأجزاء هي:
وهذا مخطط لهذه الأجزاء:

دعونا نشرح هذا المخطط قليلاً:
1- يقوم المستخدم بطلب صفحة ما من موقعك (مثلا: http://example.com/page/4).
2- يقوم Dispatcher بتحليل العنوان URL. لأنه كما ذكرنا يكون العنوان بشكله النظيف فيقوم Dispatcher بتفكيكه ومعرفة أجزائه (page أي المستخدم يريد صفحة، و 4 هو رقم الصفحة).
3- يقوم جزء Controller بالعمليات اللازمة ويرسل طلب لجزء Model لاستخراج بعض البيانات من قاعدة البيانات (مثلاً يرسل لها رقم عمود لاستخراجه).
4- يقوم Model بإرجاع البيانات التي طلبها Controller ويسلمها له.
5- يقوم الـ Controller بالعمليات اللازمة لهذه البيانات المستخلصة (تقوم بإرجاع معلومات هذا العمود الذي طلبناه قبل قليل) ومن ثم يسلم هذه البيانات التي تم معالجتها لجزء View.
6- يقوم جزء الـ View ببعض التنسيقات وتجميلات المظهر لهذه البيانات.
7- ثم يقوم بعرض الناتج للمستخدم.
الأن أصبحت هذه البنية واضحة، أليس كذلك؟
3- هل CakePHP أفضل من Ruby on Rails؟
إطار العمل CakePHP يستخدم البنية الثلاثية المميزة (MVC) وهي ذاتها المستعملة في Ruby on Rails، وبشكل عام لايمكن المقارنة بينهما لأن RoR تستخدم لغة Ruby بينما CakePHP تستخدم لغة PHP، لذلك إذا كانت معرفتك بالـ PHP جيدة فعليك بالـ CakePHP.
4- ماهي الميزات التي يقدمها CakePHP لي؟
5- ماهي متطلبات تشغيل CakePHP؟
إطار العمل هذا لايتطلب منك برامج إضافية، المطلوب هو فقط Apache و PHP 4.3.2 أو نسخة أحدث، و MySQL4 أو أحدث. ولاستعمال “العناوين النظيفة” يجب أن يكون mod_rewrite موجوداً ومفعلاً في مخدمك. CakePHP تعمل على مخدم IIS.
6- ماهي الـ scaffolding (الثقالة) وماهي وظيفتها؟
الثقالة تعني تشغيل سكربت فوق بنية قاعدة البيانات الموجودة لديك لتشغيل عدة مهام بشكل تلقائي (استعراض – إدخال – حذف).
7- هل يدعم الـ AJAX؟
نعم، بالتأكيد CakePHP يدعم AJAX باستخدام عدد من التوابع (الدوال).
8- حسناً لكن ماذا عن استخدام CSS و Javascript مع إطار العمل هذا؟
بالطبع تستطيع استخدام أي شيء خارجي ويوجد مجلدات خاصة لوضعها واستخدامها، للحفاظ على البنية الثلاثية (MVC).
9- حسناً قررت استخدامه من أين أحمله؟
من هنا حمل آخر نسخة: http://cakeforge.org/frs/?group_id=23
10- هل يوجد مواقع للمساعدة في استخدامه؟
يوجد العديد من المدونات الومواقع لمطوري هذا الإطار وسأطرحهم في مواضيع لاحقة … حالياً شاهد الدليل الرسمي فهو يغطي الكثير من المواضيع:
أو تابع دروس هذه المدونة …