برنامج CakePHP التعليمي للمبتدئين: ما هو إطار عمل CakePHP؟
⚡ ملخص ذكي
يُغطي هذا الدليل التعليمي إطار عمل CakePHP مفتوح المصدر لتطوير تطبيقات الويب السريعة القائمة على نمط MVC. يشرح هذا الدليل ماهية CakePHP، ولماذا تختاره فرق العمل، وكيفية تثبيته، وبنية مجلداته وتكوينه، واتفاقيات التسمية، وكيف يُطبّق نمط Model-View-Controller في تطبيقات CakePHP.

ما هو CakePHP؟
للكيك CakePHP هو إطار عمل مفتوح المصدر لتطوير وصيانة تطبيقات الويب المبنية بلغة PHP بسرعة. يعتمد على مفهوم بنية MVC، مما يُسهّل بناء تطبيقات الويب بلغة PHP بسهولة وبساطة وبأقل قدر من التعليمات البرمجية. كما يُساعد CakePHP على فصل منطق الأعمال عن طبقة البيانات وطبقة العرض.
لماذا نستخدم إطار عمل CakePHP؟
فيما يلي أهم فوائد/مزايا استخدام إطار عمل CakePHP:
- تُعد CakePHP بلا شك واحدة من أسرع منصات تطوير الويب.
- يسمح CakePHP للمطورين بالحصول على تحكم معزز في قاعدة البيانات واستعلامات SQL.
- فهو يساعد المستخدمين على تطوير تطبيقات ويب قوية بسرعة دون فقدان مرونة بيئتهم.
- دعم لل PostgreSQL, SQLite, MySQLوPEAR-DB لـ ADODB، وهي قاعدة بياناتtracمكتبة tion.
- يسهل تحسين محركات البحث URLs.
- يوفر ميزات مثل التحقق من صحة المدخلات وأدوات التنظيف التي تجعل التطبيق آمناً.
- استخدام القوالب مع صيغة PHP المألوفة.
كيفية تثبيت CakePHP
الطريقة المُوصى بها لتثبيت CakePHP هي باستخدام Composer، مدير تبعيات PHP. بعد تثبيت Composer، شغّل الأمر التالي لإنشاء هيكل مشروع جديد.
composer create-project --prefer-dist cakephp/app:~5.0 my_app
يقوم الأمر بتنزيل CakePHP وملحقاته إلى مجلد باسم my_app. يمكنك بعد ذلك تشغيل الخادم المدمج باستخدام bin/cake server افتح الرابط http://localhost:8765 في متصفحك. لاحظ أن CakePHP 5 يتطلب PHP 8.1 أو إصدارًا أحدث.
تاريخ CakePHP
سنتناول في هذا الدرس التعليمي حول CakePHP تاريخ إطار عمل CakePHP:
| السنة | Milestone |
|---|---|
| 2005 | تم تطوير CakePHP بواسطة Michal Tatarynowicz في 15 أبريل 2005. |
| 2005 | نشرت CakePHP البرنامج بموجب ترخيص MIT وفتحته لمطوري المجتمع. |
| 2005 | تولى Larry E Masters منصب المطور الرئيسي. |
| 2006 | تم إصدار النسخة الثانية. |
| 2011 | تم إصدار النسخة الثانية. |
| 2014 | تم إصدار النسخة الثالثة، وهي إعادة كتابة كاملة للنسخ السابقة. |
| 2016 | تم إصدار النسخة 3.3 من CakePHP مع العديد من الميزات المتقدمة. |
| 2019 | تم إصدار النسخة 4.0، مما أدى إلى تحديث الإطار. |
| 2023 | تم إصدار CakePHP 5.0، ويتطلب ذلك PHP 8.1 أو أحدث. الإصدار الحالي في عام 2026 هو CakePHP 5.3.x. |
مميزات برنامج CakePHP
فيما يلي بعض الميزات المهمة لبرنامج CakePHP.
- مجتمع نشط وودود
- هندسة MVC
- التحقق من الصحة المضمنة
- يعمل من أي دليل مواقع ويب، مع بعض أو بدون الحاجة إلى تكوين Apache.
- محرك القوالب
- عمليات التخزين المؤقت
- سهولة التفاعل مع قواعد البيانات (CRUD)
- معالجة مكونات مثل البريد الإلكتروني، وملفات تعريف الارتباط، والأمان، والجلسة، والطلب
- أدوات عرض المساعدة لـ Javaسيناريو, اياكسنماذج HTML، والمزيد
CakePHP- هيكل المجلد
الآن في هذا البرنامج التعليمي لإطار عمل CakePHP، سنتعرف على بنية مجلد CakePHP.
فيما يلي بنية مجلد CakePHP:
| مجلد | الوصف |
|---|---|
| اختبارات | يحتوي هذا المجلد على حالات اختبار لتطبيقك. |
| تمب | يخزن مجلد tmp البيانات المؤقتة. |
| بائع | هذا المجلد هو المكان الذي يتم فيه تثبيت CakePHP وتبعيات التطبيق الأخرى. |
| Webroot | يخزن مجلد الويب الرئيسي جميع الملفات التي تريد أن تكون متاحة للعامة. |
| بن | يحتوي مجلد bin على الملفات التنفيذية لوحدة التحكم Cake. |
| سجلات | يحتوي على ملفات السجل الخاصة بك، والتي تعتمد على إعدادات السجل الخاصة بك. |
| التكوين | يحتوي مجلد الإعدادات على ملفات الإعدادات التي يستخدمها CakePHP. |
| الإضافات | هذا هو المكان الذي يتم فيه تخزين المكونات الإضافية التي يستخدمها تطبيقك. |
| SRC | يحتوي هذا القسم على كود تطبيقك، مثل وحدات التحكم والكيانات والسلوكيات. ويخزن قسم "Locale" ملفات النصوص اللازمة للتدويل، بينما يحتوي قسم "Model" على جداول تطبيقك وكياناته وسلوكياته. |
تكوين CakePHP
يأتي CakePHP مزودًا بملف تكوين واحد افتراضيًا. كما يسمح لك بتعديله وفقًا لمتطلباتك. يوجد مجلد يسمى "config" مخصص لهذا الغرض.
| اسم المتغير | الوصف |
|---|---|
| تصحيح | يسمح لك بتغيير مخرجات تصحيح أخطاء CakePHP. |
| مساحة الاسم | يساعدك في العثور على فئات التطبيق. |
| App.baseUrl | قم بإلغاء التعليق على هذه الكلمة الأساسية عندما لا ترغب في استخدام mod_rewrite الخاص بـ Apache مع CakePHP. |
| ترميز التطبيق | يتيح لك تحديد نوع التشفير الذي يستخدمه تطبيقك. |
| قاعدة التطبيق | هذا هو الدليل الأساسي الذي يوجد فيه التطبيق. إذا كانت القيمة خاطئة، فسيتم اكتشاف ذلك تلقائيًا. |
| App.fullBaseUrl | اسم نطاق مؤهل بالكامل. |
| تطبيق ويب روت | إنه دليل جذر الموقع الإلكتروني. |
| App.wwwRoot | مسار الملف إلى جذر الويب. |
| App.jsBaseUrl | المسار إلى دليل js العام. |
| مسارات التطبيق | قم بتكوين المسارات للموارد غير المستندة إلى فئة. |
| App.cssBaseUrl | هو مسار الويب إلى دليل CSS العام الموجود ضمن جذر الموقع. |
| الأمن.الملح | إنها سلسلة عشوائية تستخدم في التجزئة. |
| الأصل.الطابع الزمني | يقوم هذا المتغير بإضافة طابع زمني عند استخدام الأدوات المساعدة المناسبة. |
Cake- اصطلاحات التسمية PHP
تعتمد Cake على مبدأ "الاتفاقية بدلاً من التكوين". تسمح لك اتفاقية التسمية بتنظيم عمل تطبيق الويب. في هذه الطريقة، يجب فصل الكلمات المتعددة في الاسم بعلامة "_" عند تسمية الملف، وباستخدام نمط Camel Case عند تسمية الفئة.
يجب أن تتبع أجزاء MVC الصيغة الموضحة أدناه:
| اسم الملف | اسم الفصل | اسم الفئة الأساسية | المدينة المنورة - بجوار المسجد النبوي | |
|---|---|---|---|---|
| الموديل | اسم الجدول بصيغة المفرد مع إضافة اللاحقة .php، مثال: order.php | اسم الملف مكتوبًا بنمط Camel Case، مثال: Order | نموذج التطبيق | /التطبيق/نماذج |
| مراقب | اسم الجدول_controller مع امتداد .php، مثال: orders_controller.php | اسم الجدول مُلحق بكلمة Controller، مثال: OrdersController | AppController | /التطبيق/وحدات التحكم |
| عرض الطلب | اسم الإجراء في وحدة التحكم مع امتداد .ctp، مثال: add.ctp | لا توجد فئات؛ يحتوي العرض على علامات HTML و PHP. | /app/views/controller name |
تكوين قواعد البيانات
يُتيح لك CakePHP تهيئة قاعدة البيانات في config / app.php ملف. يوفر اتصالاً افتراضياً مع معلمات محددة يمكنك تعديلها حسب اختيارك.
المعلمات الهامة مذكورة أدناه:
| معامل | الوصف |
|---|---|
| المنفذ (اختياري) | منفذ TCP أو مقبس Unix المستخدم للاتصال بالخادم. |
| توقيت | المنطقة الزمنية للخادم لتعيينها. |
| مخطط | يساعدك على تحديد المخطط الذي يمكنك استخدامه. |
| unix_socket | يستخدمها السائقون للاتصال عبر ملفات مقبس يونكس. |
| ssl_key | إنه مسار ملف مفتاح SSL. |
| ssl_cert | إنه مسار ملف شهادة SSL. |
| ssl_ca | إنه مسار الملف الخاص بجهة إصدار شهادات SSL. |
| سجل | يساعدك هذا المصطلح على إجراء تسجيل الاستعلام. |
| فيه | قائمة الاستعلامات التي يجب إرسالها إلى خادم قاعدة البيانات عند إنشاء الاتصال. |
| معرّفات الاقتباس | قم بتعيين هذا الخيار إلى "صحيح" إذا كنت ترغب في استخدام الكلمات المحجوزة أو الأحرف الخاصة. |
كيف يعمل MVC في CakePHP؟
سنتعلم الآن كيفية عمل نمط MVC في CakePHP في هذا البرنامج التعليمي لإطار عمل CakePHP.
إنها طريقة ديناميكية لبناء الآلية الأساسية لتطبيق الويب. النموذج، والعرض، والمتحكم منفصلة عن بعضها البعض.

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