اعلان

Laravel يُعتبر من أشهر أُطر العمل في تطوير تطبيقات PHP. مع صدور Laravel 12، جاءت تغييرات مهمة وتحسينات تهدف لجعل تجربة التطوير أسرع وأكثر أمانًا وكفاءة. في هذا المقال سنستعرض أبرز الفروقات بين Laravel 11 وLaravel 12، مع التركيز على الأمور التي تهم المطورين بشكل عملي.
تحسينات في الأداء
- تقليل وقت الإقلاع (bootstrapping) واستهلاك الذاكرة.
- محرك توجيه أسرع (Faster Routing).
- حاوية خدمات (Service Container) محسّنة لمعالجة الاعتماديات بسرعة أكبر.
دعم PHP 8.2 و 8.3 المحسّن
- دعم كامل للخصائص القابلة للقراءة فقط (readonly) والعدادات الأصلية (native enums).
- تحسين استخدام أنواع الاتحاد (union types) والسمات (attributes).
- كتابة كود أكثر صرامة وأمانًا من حيث الأنواع.
أوامر Artisan جديدة
php artisan make:enum: لإنشاء فئات العدادات بسهولة.php artisan model:prune: لحذف السجلات المحذوفة منطقيًا تلقائيًا من قاعدة البيانات.- تسهل هذه الأوامر تنظيم قاعدة البيانات والحفاظ على كود نظيف.
نظام الطوابير المحسّن (Queue)
- تحسين الأداء والموثوقية في معالجة المهام.
- تكامل أفضل مع Horizon لمراقبة الطوابير وإحصاءات أدق.
- دعم العمال الديناميكيين (dynamic queue workers) لتوفير استهلاك الموارد.
تحقق أقوى من الأنواع (Type Safety)
- وضع Strict جديد للتحقق من الأنواع أثناء تنفيذ الكود.
- إعلانات عن نوع القيمة المعادة (return type declarations) في العديد من الدوال.
- تقليل الأخطاء البرمجية غير المتوقعة وجعل سلوك الدوال أوضح.
أدوات الاختبار المحسّنة
- تحسين اختبارات متوازية (Parallel Testing) لتسريع العمليات وزيادة الاستقرار في CI/CD.
- تعابير تحقق جديدة (assertions) مثل
assertDatabaseHasExactly. - تسهيل التحقق الدقيق من حالة قاعدة البيانات أثناء الاختبارات.
تبسيط إعدادات التطبيق
- قيم افتراضية مناسبة داخل ملفات التكوين تقلل الحاجة لكتابة إعدادات يدوية.
- تحقق مدمج من متغيرات البيئة (environment variables) لضمان ضبط التطبيق بشكل صحيح قبل التشغيل.
- يقلل الأخطاء ويضمن عمل التطبيق بسلاسة أكبر.
تحسين تجربة المطوّر
- صفحات الأخطاء أصبحت تحتوي على معلومات أكثر لمساعدة المطورين في تتبع المشاكل.
- تحسين دعم IDEs عبر الإكمال التلقائي والتوثيق المضمّن داخل المحرر.
- كتابة الكود أصبحت أسرع وأسهل، مع تقليل الأخطاء الشائعة.
تعزيزات أمنية
- خوارزميات تشفير كلمات مرور أحدث لضمان حماية بيانات المستخدمين.
- تحسين نظام تحديد المعدل (rate limiting) للتحكم الدقيق في طلبات واجهات البرمجة (APIs).
- حماية أفضل ضد الاستخدام المفرط والهجمات المحتملة.
ميزات قديمة محذوفة وتغييرات جذرية
- إزالة بعض الدوال (methods) التي كانت قد أُعلن عنها كمحذوفة في Laravel 11.
- ضرورة مراجعة دليل الترقية الرسمي لضمان تحديث الإعتمادات واستخدام البدائل المناسبة قبل الترقية إلى النسخة 12.
Laravel 12 جاء بتحسينات كبيرة تشمل الأداء، الأمان، تجربة المطور، ودعم أحدث إصدارات PHP. الترقية من Laravel 11 تستحق النظر، لكنها تحتاج إلى مراجعة دقيقة للتغييرات المحذوفة وضمان التوافق مع الكود الحالي.
أسئلة وأجوبة
س: هل يمكنني ترقية مشروعي من Laravel 11 إلى Laravel 12 مباشرة؟
ج: يمكن، لكن يجب مراجعة دليل الترقية الرسمي والتأكد من توافق الإعتمادات والاعتماديات مع النسخة الجديدة.
س: هل هناك فرق كبير في الأداء بين النسختين؟
ج: نعم، Laravel 12 أسرع في الإقلاع ومعالجة الطوابير ويستهلك ذاكرة أقل.
س: هل Laravel 12 يدعم PHP 8.3؟
ج: نعم، يقدم دعم كامل لميزات PHP 8.2 و 8.3 بما في ذلك readonly properties وnative enums.
س: هل توجد أوامر Artisan جديدة تساعد في إدارة قاعدة البيانات؟
ج: نعم، مثل model:prune لحذف السجلات المحذوفة منطقيًا، وmake:enum لإنشاء فئات العدادات بسهولة.
الاقسام
- مسارات البرمجة 4 المقالات
- قوالب وادوات 3 المقالات
- ثريدات برمجية 226 المقالات
- تسويق 32 المقالات
- الربح من الانترنت 78 المقالات
- الذكاء الاصطناعي 104 المقالات
- الحاسب و الانترنت 74 المقالات
- اخبار تقنية 143 المقالات