الكورس

Advertisements

Laravel APP Directory Structure


الغرض من بنية تطبيق Laravel الافتراضية هو توفير جميع الأدوات لكل من التطبيقات الكبيرة والصغيرة، هيكل التطبيق في Laravel هو في الأساس هيكل المجلدات الأساسية والمجلدات الفرعية والملفات المضمنة في المشروع.

بمجرد إنشاء مشروع في Laravel ، ستحصل على هذا الهيكل من المجلدات:


 

The Root Directory

 

App] Directory]

 

يحتوي مجلد App على الكود الأساسي لتطبيقك + يحتوى على exceptions و middleware declaration وأشياء أخرى سنتعرف عليها فى الفصول القادمة.

💡 توجد مجلدات فرعية داخل مجلد الـ App، وهم:

  1. Console: يحتوى على لوحة التحكم على جميع أوامر الـ artisan اللازمة لمشروعك.
  2. Events: يحتفظ بملفات الـ events التي قد يظهرها تطبيق laravel + يتم استخدام الـ events لإرسال رسائل أو إشارات إلى أجزاء أخرى من مشروع Laravel، أي إجراء قد تم داخل المشروع.
  3. Exceptions: يحتوي على ملفات معالجة الاستثناءات لمشروع Laravel، والتي تتعامل مع جميع الاستثناءات التي طرحها مشروع Laravel الخاص بك.
  4. Http: يحتوي على فلاتر وطلبات ووحدات تحكم مختلفة.
  5. Jobs: يحتفظ بالأنشطة المدرجة في قائمة انتظار تطبيق Laravel، ولكن لا يتم إنشاؤه في البداية ؛ لذلك تحتاج إلى كتابة وتشغيل هذا الأمر: make:job.
  6. Listeners: يحتوي على جميع فئات “classes” معالج المشروع الخاصة بك والتي يتم استخدامها لاستلام الـ events ومعالجتها.
  7. Policies: يحتوي على سياسات مختلفة لمشروع laravel الخاص بك.
  8. Providers: يتم استخدام هذا المجلد لاحتواء مزودي الخدمة المختلفين.

 

Bootstraap] Directory]

 

يشتمل هذا المجلد على جميع البرامج النصية لبدء تشغيل التطبيق. يحتوي على. يمكنك أيضًا العثور على 

💡 يحتوي مجلد الـ bootstrap على جميع البرامج النصية المستخدمة للتطبيق الخاص بك لبدء التشغيل + يحتوى على:

  • مجلد فرعي وهو cache، والذي يتضمن جميع الملفات المرتبطة بالتخزين المؤقت لأحد تطبيقات الويب.
  • ملف app.php، الذي يقوم بتهيئة البرامج النصية اللازمة.

 

Config] Directory]

 

يحتوي مجلد الـ Config على جميع ملفات تهيئة المشروع (config.)، هناك ملفات مختلفة داخل المجلد، لكن (تعمل أسماء الملفات وفقًا للوظيفة المرتبطة بها).


 

Database] Directory]

 

يحتوي مجلد الـ Database على عمليات مختلفة لوظائف قاعدة البيانات، ويحتوى على 3 مجلدات فرعية وهم:

  1. Migration: يساعد هذا المجلد في الاستعلامات الخاصة بترحيل قاعدة البيانات المستخدمة في تطبيق الويب.
  2. factories: يستخدم هذا المجلد لإنشاء عدد كبير من سجلات البيانات.
  3. seeds: يحتوي هذا على الفئات ‘classes‘ المستخدمة لقاعدة بيانات اختبار الـ unit.

 

Public] Directory]

 

هذا هو المجلد الجذر (root) الذي يساعد في تهيئة تطبيق Laravel، ويتضمن بعض الملفات والمجلدات التاليه:

  1. index.php: هذا الملف مطلوب لتهيئة تطبيق ويب.
  2. javascript & css: تعتبر هذه الملفات كـ assets.
  3. htaccess.: يعطي هذا الملف configuration للخادم.

 

Resources] Directory]

 

يحتوي مجلد الـ Resources على الملفات التي تعزز تطبيق الويب الخاص بك (المظهر الخارجى)، وهناك مجلدات فرعية وهم:

  1. assets: يتضمن مجلد الـ assets ملفات مثل LESS و SCSS المطلوبة لتصميم تطبيق الويب.
  2. views: يحتوى مجلد الـ views على ملفات HTML أو القوالب التي تتفاعل مع المستخدمين وبنية الـ MVC.
  3. lang: يحتوى مجلد الـ lang على جميع ملفات لغاتك.

 

Routes] Directory]

 

يحتوي مجلد الـ Routes على جميع تعريفات المسار للتطبيق الخاص بك، بشكل افتراضي يتم تضمين العديد من الملفات:

  1. web.php: يحتوي ملف web.php على مسارات يضعها RouteServiceProvider في مجموعة البرامج الوسيطة على الويب ، والتي توفر حالة الـ session ، وحماية CSRF ، وتشفير ملفات الـ cookies.
  2. api.php: يحتوي ملف api.php على توجيهات يضعها RouteServiceProvider في مجموعة البرامج الوسيطة، والتي توفر تحديد المعدل، الغرض من هذه المسارات هو أن تكون عديمة الجنسية ، لذا فإن الطلبات التي تدخل التطبيق من خلال هذه المسارات مخصصة للمصادقة عليها من خلال الرموز المميزة ولن تتمكن من الوصول إلى حالة الجلسة session.
  3. console.php: ملف console.php هو المكان الذي يمكنك فيه تحديد جميع أوامر وحدة التحكم المستندة إلى الإغلاق “Closure”. 
  4. channels.php: ملف channels.php هو المكان الذي يمكنك فيه تسجيل جميع قنوات بث الأحداث التي يدعمها تطبيقك.

 
Storage] Directory]

 

هذا هو المجلد الذي يقوم بتخزين جميع السجلات والملفات الضرورية التي تكون مطلوبة بشكل متكرر عند تشغيل مشروع Laravel، وهناك بعض المجلدات الفرعية داخل هذا المجلد، وهم:

  1. app: يحتوي هذا المجلد على الملفات التي تسمى بالتتابع ‘succession‘.
  2. framework: يحتوي هذا المجلد على جلسات ‘sessions‘ وذاكرة تخزين مؤقت ‘cache’ وطرق عرض يتم استدعاؤها بشكل متكرر.
  3. logs: يتم تتبع جميع الاستثناءات وسجلات الأخطاء في هذا المجلد الفرعي.

 

Tests] Directory]

 

يحتوي ملف Tests على اختباراتك الآلية، يتم توفير اختبار PHPUnit + يمكنك إجراء اختباراتك باستخدام أوامر phpunit أو vendor/bin /phpunit.


 

Vendor] Directory]

 

يحتوي مجلد Vendor على جميع الـ Composer dependencies الخاصة بك.


 

💡 Done: إذا فهمت وركزت فى كل المعلومات السابقة، فتقدر تقول إنك إتعرفت على بنية مجلدات إطار Laravel بالكامل✔

 



الإبلاغ عن خطأ

×

إذا وجد خطأ وتريد الإبلاغ عن هذا الخطأ، أو إذا كنت تريد تقديم اقتراح على شىء معين، فلا تتردد في إرسال بريد إلكتروني إلينا:

[email protected]

شكرًا لك على مساعدتك لنا!

Advertisements