ما الجديد فيLaravel 11
يقدم Laravel 11 بنية تطبيق بسيطة لتطبيقات Laravel الجديدة، دون الحاجة إلى إجراء أي تغييرات على التطبيقات الحالية. تهدف بنية التطبيق الجديدة إلى توفير تجربة أصغر حجمًا وأكثر حداثة، مع الاحتفاظ بالعديد من المفاهيم التي نعرفها كمطورو Laravel .
1. لقد تم تبسيط مجلد APP بشكل كبير بحيث تم نقل middleware التسعة التي نادرًا ما تم تخصيصها إلى إطار العمل نفسه، وتمت إزالة exception handler، وتم تبسيط دليل Providers إلى provider واحد.
2. تم تبسيط مجلد الroutes بحيث لم تعد ملفات api.php و channels.php موجودة بشكل افتراضي ولكن يمكن انشائهم عن طريقartisan command (install:api,install:brodcasting).
3.الSqlLite بشكل افتراضي عند انشاء مشروع جديد .
4. اختبار التفاعل في قائمة الانتظار في السابق، كانت محاولة اختبار ما إذا كان قد تم تحرير مهمة في قائمة الانتظار أو حذفها أو فشلها يدويًا أمرًا مرهقًا وتتطلب تعريف قوائم انتظار مخصصة مزيفة وstubs. مع ذلك، فيLaravel 11، يمكنك بسهولة اختبار تفاعلات قائمة الانتظار هذه باستخدام التابع withFakeQueueInteractions : إلى جانب التأكيد AssurReleased، الذي يمكنك استخدامه للتحقق مما إذا تم تحرير مهمة مرة أخرى إلى قائمة الانتظار، يمكنك أيضًا استخدام التأكيدات Assurfailed أو AssuredDeleted لتحديد ما إذا كانت المهمة قد فشلت أو تم حذفها، على التوالي.
5. الGraceful Encryption key rotation :-
نظرًا لأن Laravel يقوم بتشفير جميع ملفات تعريف الارتباط، بما في ذلك ملف تعريف ارتباط جلسة التطبيق الخاص بك، فإن كل طلب إلى تطبيق Laravel يعتمد بشكل أساسي على التشفير. ومع ذلك، فإن تغيير مفتاح تشفير التطبيق الخاص بك سيؤدي إلى تسجيل خروج كافة المستخدمين من التطبيق. بالإضافة إلى ذلك، يصبح من المستحيل فك تشفير البيانات التي تم تشفيرها بواسطة مفتاح التشفير السابق.يسمح لكLaravel 11 بتعريف مفاتيح التشفير السابقة لتطبيقك كقائمة مفصولة بفواصل عبر ملف .ENV
باستخدام المتغير APP_PREVIOUS_KEYS
.عند تشفير القيم، سيستخدم Laravel دائمًا مفتاح التشفير "الحالي" الموجود ضمن متغير البيئة APP_KEY
. أما عند فك تشفير القيم، فسيحاول Laravel أولاً استخدام المفتاح الحالي. إذا فشل فك التشفير باستخدام المفتاح الحالي، فسيحاولLaravel استخدام جميع المفاتيح السابقة حتى يتمكن أحدها من فك تشفير القيمة.يتيح هذا الأسلوب للمستخدمين الاستمرار في استخدام التطبيق دون انقطاع حتى إذا تم تغيير مفتاح التشفير الخاص بك.
هناك الكثير من التحسينات والميزات الجديدة فيLaravel 11 والتي لا يمكننا تغطيتها في هذا المنشور:
Per-second rate limiting
Resend mail transport
Prompt validator integration
New Artisan commands
Model Casts Improvements
The once function
Improved Performance When Testing with In-Memory Databases
Improved Support for MariaDB