برنامج CakePHP التعليمي للمبتدئين: ما هو إطار عمل CakePHP؟

⚡ ملخص ذكي

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

  • 🎂 ما هو CakePHP؟ CakePHP هو إطار عمل مفتوح المصدر يعتمد على نمط MVC، ويقوم ببناء وصيانة تطبيقات الويب PHP باستخدام كمية أقل من التعليمات البرمجية.
  • ⚡ لماذا استخدامه: يوفر تطويرًا سريعًا، وقاعدة بيانات منفصلةtraction، والتحقق المدمج، وملاءمة محركات البحث URLخارج الصندوق.
  • 📦 تركيب: يقوم Composer بتثبيت CakePHP بأمر واحد create-project؛ الإصدار الحالي 5 يتطلب PHP 8.1 أو أحدث.
  • 📁 هيكل المجلد: تعمل المجلدات الواضحة على فصل شفرة المصدر، والتكوين، والاختبارات، والسجلات، والمكونات الإضافية، وجذر الموقع العام لأغراض الصيانة.
  • 🔤 الاتفاقيات: إن اعتماد الاتفاقية بدلاً من التكوين يعني أن التسمية المتسقة للنماذج ووحدات التحكم والعروض تقلل من التعليمات البرمجية المتكررة.
  • 🔁 تدفق MVC: تتولى النماذج معالجة البيانات، وتتولى طرق العرض معالجة المخرجات، وتقوم وحدات التحكم بتوجيه التدفق، والحفاظ علىping تم فصل المخاوف بشكل واضح.
  • 🤖 مساعدة الذكاء الاصطناعي: يمكن لأدوات الذكاء الاصطناعي إنشاء تطبيقات CakePHP CRUD والمساعدة في ترحيل مشروع CakePHP قديم إلى الإصدار 5.

برنامج تعليمي لـ 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.

إنها طريقة ديناميكية لبناء الآلية الأساسية لتطبيق الويب. النموذج، والعرض، والمتحكم منفصلة عن بعضها البعض.

هندسة MVC في CakePHP
هندسة MVC في CakePHP

يقسم CakePHP العمليات إلى ثلاثة أجزاء:

  • النماذج: تستخدم لجميع تفاعلات قاعدة البيانات.
  • المشاهدات: تستخدم لجميع المخرجات وشاشات العرض.
  • وحدات التحكم: تُستخدم للتحكم في تدفق التطبيق.

فيما يلي خطوات استخدام بنية MVC في CakePHP:

الخطوة 1) يتفاعل العميل أو المستخدم مع العرض.

الخطوة 2) يُنبه هذا العرض وحدة التحكم بالحدث المحدد.

الخطوة 3) يقوم المتحكم بإرسال طلب قاعدة بيانات إلى النموذج وتحديث النموذج.

الخطوة 4) يُنبه النموذج العرض إلى أنه قد تغير.

الخطوة 5) يستقبل العرض بيانات النموذج ويقوم بتحديث نفسه وفقًا للبيانات المستلمة.

لماذا نستخدم MVC؟

  • يساعدك CakePHP MVC على فصل منطق الأعمال عن العرض واسترجاع البيانات.
  • ينقسم الموقع إلى أقسام منطقية يمكنك التحكم فيها باستخدام وحدة تحكم محددة.
  • عند اختبار وتصحيح تطبيق ما، يمكن لأي مطور تحديد الأخطاء وتصحيحها دون الحاجة إلى تفاصيل كاملة عن الكود.

عيوب استخدام إطار عمل CakePHP

  • لا يُعد دعم التوثيق الخاص بـ CakePHP شاملاً بالقدر الكافي.
  • لاستخدام CakePHP، يحتاج المطور إلى تحديث المسارات الافتراضية لإنشاء وظائف متقدمة. URLs، وهو ما يتطلب جهدًا أكبر مقارنة ببعض أطر عمل PHP الأخرى.
  • يستخدم CakePHP التوجيه أحادي الاتجاه مقارنة بالأطر الأخرى.
  • تعلم لغة PHP لا يُعدّ استخدام إطار العمل سهلاً دائماً للمبتدئين.
  • يُعد التوجيه أحادي الاتجاه عيبًا آخر عند مقارنته بأطر عمل مثل Ruby on Rails.

الأسئلة الشائعة

نعم، يُعدّ CakePHP 5 مناسبًا لصيانة مشاريع CakePHP الحالية وللفرق التي تُقدّر نهجه القائم على الاتفاقيات بدلًا من التخصيصات. صحيح أن Laravel وSymfony يتمتعان بمجتمعات أكبر، إلا أن CakePHP 5 يحظى بدعم مستمر ويظل إطار عمل متينًا وفعّالًا.

كلاهما إطاران عمل MVC في PHP. يتميز Laravel بنظام بيئي أوسع، وبنية نحوية معبرة، وتقنية Eloquent ORM. بينما يركز CakePHP على المعايير الصارمة وسرعة إنشاء الهياكل مع تقليل الإعدادات. يُعد Laravel أكثر شيوعًا، بينما يُمكن لـ CakePHP أن يُسرّع عملية إنشاء تطبيق تقليدي.

يتطلب CakePHP 5، وهو الإصدار الرئيسي الحالي، PHP 8.1 أو أحدث. كان الإصدار الأقدم CakePHP 4 يدعم PHP 7.4 وما فوق، ولكنه يقترب من نهاية عمره الافتراضي، لذا يُنصح المشاريع الجديدة باستخدام CakePHP 5 مع إصدار PHP حديث.

نعم. يمكن للذكاء الاصطناعي إنشاء الترحيل والكيان والجدول ووحدة التحكم والقوالب لمورد CRUD باتباع اصطلاحات CakePHP، وشرح أوامر وحدة التحكم bake. Revراجع قواعد التحقق واختبر كل إجراء.

نعم. يمكن للذكاء الاصطناعي تحديد الطرق المهملة، ومساحات الأسماء المُحدَّثة، وتغييرات التوقيع، واقتراح بدائل تدريجيًا. نظرًا لأن عمليات الترحيل كبيرة، يُنصح بالترقية تدريجيًا وتشغيل مجموعة الاختبارات بعد كل تغيير.

تلخيص هذه التدوينة بـ: