Structure Change

2024-12-05 وقت القراءه : 1 دقائق


مع إصدار Laravel 11، شهدنا تغييرات جذرية في هيكل المجلدات تهدف إلى تبسيط البنية وتقليل التعقيد. سيتناول هذا المقال تحليلًا دقيقًا لهذه التغييرات، مع شرح تفصيلي لكل تغيير وتأثيره على تطوير التطبيقات.


التغييرات الرئيسية على الهيكل في Laravel 11:

إزالة المجلدات:

تم إزالة المجلدات التالية: app/Console, app/Exceptions, app/Http/Middleware, app/Providers/{Auth, Broadcast, Event, Route}ServiceProvider, bootstrap/cache, config/{broadcasting, cors, hashing, view, sanctum}.

إضافة المجلدات:

تم إضافة المجلد bootstrap/providers.php.

تعديلات على الملفات في Laravel 11:

  • تم نقل ملف app.php إلى bootstrap/app.php.
  • تم إضافة ملف database.sqlite إلى database/.
  • تم إزالة الملفات التالية: migrations/personal_access_token.php, routes/{api.php, channels.php}.


ملفات Migration في Laravel 11

واحدة من التغييرات المهمة في Laravel 11 هي ملفات Migrations حيث إنه في Laravel 11 يوجد ثلاثة ملفات وهي خاصه ب users, cache, jobs، وعند تنفيذ الأمر

php artisan migrate

نلاحظ أنه تم إنشاء تسعة جداول، بمعنى أن الثلاث ملفات الخاصه بالـ migration الموجوده بشكل إفتراضي في Laravel 11 تقوم بإنشاء تسعة جداول.


تحليل التغييرات على الهيكل في Laravel 11:

  • إزالة المجلدات غير المستخدمة: تهدف إزالة المجلدات غير المستخدمة : إلى تقليل التعقيد بصريًا وتسهيل العثور على الملفات الضرورية. على سبيل المثال، مع إزالة app/Exceptions، يتم الآن تخزين استثناءات التطبيق في app/Exceptions/Handler.php.
  • دمج مقدمي الخدمات: يتم الآن تسجيل جميع مقدمي الخدمات في bootstrap/providers.php، مما يوفر نقطة مركزية لإدارة مكونات التطبيق.
  • نقل ملفات التكوين: تم نقل ملفات التكوين من config/ إلى أماكن أكثر ملاءمة. على سبيل المثال، تم نقل ملفات تكوين البث إلى config/broadcasting.php.
  • إزالة ملفات التوجيه غير المستخدمة: تم إزالة ملفات التوجيه غير المستخدمة مثل api.php و channels.php لتحسين الوضوح. يمكن إعادة إنشاء هذه الملفات بسهولة باستخدام أوامر Artisan مثل php artisan make:controller Api.
  • استخدام Slim Structure: تُظهر التغييرات اتجاهًا نحو بنية "Slim" تركز على الملفات الأساسية وتوفر إمكانية إضافة ميزات إضافية عند الحاجة.
  • إعادة تثبيت الملفات: لا تزال الملفات التي تم إزالتها متاحة في مجلد vendor. توفر أوامر Artisan جديدة مثل php artisan install:api طريقة سهلة لإعادة تثبيت هذه الملفات حسب الحاجة.


الفوائد من تقليل الملفات في Laravel 11:

  • بنية أبسط: تُسهل التغييرات هيكل المجلدات وتجعل من السهل فهمه والتنقل فيه.
  • تقليل التعقيد: تم إزالة المكونات غير المستخدمة، مما يقلل من التعقيد ويجعل من السهل صيانة قاعدة التعليمات البرمجية.
  • تركيز على الملفات الأساسية: تركز بنية "Slim" على الملفات الأساسية وتوفر إمكانية إضافة ميزات إضافية عند الحاجة.
  • سهولة إعادة التثبيت: لا تزال الملفات التي تم إزالتها متاحة لإعادة التثبيت بسهولة عند الحاجة.


الخلاصة:

تُقدم تغييرات هيكل المجلدات في Laravel 11 العديد من الفوائد، بما في ذلك بنية أبسط، وتقليل التعقيد، وتركيزًا على الملفات الأساسية، وسهولة إعادة التثبيت. تُساعد هذه التغييرات المطورين على إنشاء تطبيقات Laravel أكثر كفاءة وسهولة في الصيانة.


كما نلاحظ أنه في Laravel 11 أنه تم تقليل الملفات التي كانت موجوده في الإصدارات السابقة بشكل إفتراضي، وذلك في محاولة للوصول Slim Structure، بمعنى أنه لا داعي لوجود الملفات التي قد لا نستخدمها، مع إتاحة إمكانية إعاده تثبيت هذه الملفات والكلاسات، مثلا يمكن إعاده تثبيت api من حلال تنفيذ الأمر

php artisan install:api

الملفات التي تم إزالتها هي موجوده في داخل المجلد vendors وقام بإنشاء أوامر artisan جديده من أجل إعاده التعامل مع هذه الملفات.

إضافة تعليق
Loading...