دليل هيكل مشروع Laravel
مرجع كامل للمجلدات والملفات في مشروع Laravel
جدول المحتويات
- 1. نظرة عامة على المشروع
- 2. app/ – نواة التطبيق
- 3. bootstrap/
- 4. config/
- 5. database/
- 6. public/
- 7. resources/
- 8. routes/
- 9. storage/
- 10. tests/
- 11. ملفات أخرى مهمة
1. نظرة عامة على المشروع
يتبع Laravel بنية مجلد منظمة جيدًا تفصل بين الجوانب المختلفة لتطبيقك. هذا الهيكل يساعد على الحفاظ على كود نظيف ومنظم ويتبع أفضل الممارسات في الصناعة.
my-laravel-project/ ├── app/ │ ├── Console/ │ ├── Exceptions/ │ ├── Http/ │ │ ├── Controllers/ │ │ ├── Middleware/ │ │ └── Requests/ │ ├── Models/ │ └── Providers/ ├── bootstrap/ ├── config/ ├── database/ ├── public/ ├── resources/ ├── routes/ ├── storage/ └── tests/
2. app/ – نواة التطبيق
يحتوي مجلد app/ على الكود الأساسي لتطبيقك.
Console/
يحتوي على أوامر Artisan المخصصة. يمكنك إنشاء أمر جديد باستخدام:
php artisan make:command SendEmails
Exceptions/
يحتوي على معالج الاستثناءات وأي استثناءات مخصصة تنشئها.
Http/
يحتوي على وحدات التحكم (Controllers)، والوسيطات (Middleware)، وطلبات النماذج (Form Requests).
Controllers/
جميع وحدات التحكم الخاصة بك توضع هنا. لإنشاء وحدة تحكم:
php artisan make:controller UserController
Middleware/
يوفر آلية لتصفية الطلبات HTTP. لإنشاء Middleware:
php artisan make:middleware CheckAge
Requests/
تُستخدم لطلب التحقق من صحة المدخلات. لإنشاء واحدة:
php artisan make:request StoreUserRequest
Models/
تحتوي على نماذج Eloquent الخاصة بك. لإنشاء نموذج:
php artisan make:model User
Providers/
مقدمو الخدمات مسؤولون عن تهيئة التطبيق. لإنشاء Provider:
php artisan make:provider CustomServiceProvider
3. bootstrap/
يحتوي على ملف app.php لتهيئة الإطار، ومجلد cache/ الذي يحتوي على ملفات التخزين المؤقت لتحسين الأداء.
4. config/
يحتوي على جميع ملفات إعدادات التطبيق. من الملفات المهمة:
app.php– إعدادات التطبيق الأساسيةdatabase.php– إعدادات قاعدة البياناتauth.php– إعدادات المصادقةmail.php– إعدادات البريد الإلكتروني
5. database/
يحتوي على التهجيرات (migrations)، والمُعبئات (seeders)، والمصانع (factories).
Migrations/
تُستخدم لإدارة بنية قاعدة البيانات. لإنشاء واحدة:
php artisan make:migration create_users_table
Seeders/
تُستخدم لملء الجداول ببيانات وهمية. لإنشاء Seeder:
php artisan make:seeder UsersTableSeeder
Factories/
تُستخدم لإنشاء بيانات للاختبارات. لإنشاء Factory:
php artisan make:factory UserFactory
6. public/
مجلد الجذر لخادم الويب ويحتوي على:
index.php– نقطة الدخول للتطبيق- الملفات العامة (CSS، JavaScript، الصور)
7. resources/
يحتوي على القوالب (views)، والملفات الأصلية (JS، SASS، إلخ)، وملفات اللغة.
views/
قوالب Blade. أنشئ القوالب ضمن مجلدات فرعية مناسبة.
js/
ملفات JavaScript (تُستخدم غالبًا مع Laravel Mix).
lang/
ملفات اللغة لتهيئة الترجمة.
8. routes/
يحتوي على تعريفات المسارات:
web.php– للمسارات الخاصة بالويب (جلسات، حماية CSRF)api.php– لمسارات الـ API (محدودة بالطلبات)console.php– لأوامر Artisanchannels.php– لقنوات بث الأحداث
9. storage/
يحتوي على:
app/– لتخزين الملفات المُنشأةframework/– ملفات الإطار المؤقتةlogs/– سجلات التطبيق
10. tests/
يحتوي على اختبارات PHPUnit. لإنشاء اختبار:
php artisan make:test UserTest
11. ملفات أخرى مهمة
.env– إعدادات بيئة العملcomposer.json– تبعيات PHPpackage.json– تبعيات الواجهة الأماميةartisan– واجهة الأوامر الخاصة بـ Laravelwebpack.mix.js– إعدادات Laravel Mix
