المدونة التقنية

Mohamed Sabil 83

مدونة تقنية لكل المهتمين بتطوير المواقع الإلكترونية وأنظمة الويب بحزمة TALL

Tailwind - Alpine - Livewire - Laravel

الجديد المنتظر في لارافيل 9

يعتبر Laravel من أكثر أطر عمل PHP استخداماً في السنوات الأخيرة حيث يتم الإعتماد عليه من عديد المطورين والشركات التي تعمل باستخدام PHP وسيتم إطلاق النسخة 9 بداية شهر فبراير 2022.

سابقاً كانت إصدارات Laravel الرئيسية تصدر كل 6 أشهر مما كان يسبب بعض الإرباك خاصة للمطورين الجدد في هذا المجال. الآن، ابتداءً من النسخة 9، تم تغيير منظومة الإصدارات الرئيسية لتكون سنوية بدل كل 6 أشهر. وفي ما يلي أبرز المستجدات المرتقبة في النسخة 9 من Lavael.

الإصدار PHP8 هو الحد الأدنى في Laravel9

بما أن Laravel9 انتقل لإستخدام الإصدارة 6 من Symfony والتي تعتمد PHP8 كحد أدنى، فقد أصبح Laravel9 يعتمد أيضاً على PHP8 كحد أدنى.

تصميم جديد للأمر route:list

يعتبر الأمر route:list والخاص بعرض مسارات موقعك من أوائل الأوامر المضمنة في Laravel. وبالرغم من فائدته، إلا أنه يكون مزعجاً عند العرض خاصة عندما تكون هناك مسارات طويلة ومعقدة. هذا الأمر تغير الآن بعد أن تم إعادة تصميم طريقة عرض نتائج تنفيذ الأمر route:list في إصدارة Laravel9 لتكون بطريقة واضحة، بسيطة، وأنيقة.

إستخدام الكلاسات المجهولة في ملفات بناء جداول قاعدة البيانات

في الإصدار الـ 8 من Laravel وما سبقه من إصدارات، عندما يتم تنفيذ الأمر:

تكون النتيجة كالتالي:

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

جاء الحل مع Laravel9 حيث تم اعتماد إنشاء الكلاسات المجهولة (Anonymous) أو كما يطلق عليها البعض عديمة التسمية وبالتالي لن يحصل أي تعارض عند تكرار استخدام الأمر السابق عدة مرات حيث ستكون البنية الناتجة من تنفيذ ذلك الأمر كالتالي:

استخدام الوظائف النصية الجديدة في PHP8

بما أن Laravel9 أصبحت تعتمد PHP8 كحد أدنى، فقد تم تغيير الكلاس Illuminate\Support\Str ليعتمد استخدام الوظائف النصية التالية بشكل أساسي والتي تم إضافتها في PHP8 وهي str_contains، str_starts_with، و str_ends_with.

الإنتقال من SwiftMailer إلى Symfony Mailer

قامت Symfony بإيقاف تطوير مكتبتها SwiftMailer واعتماد المكتبة الجديدة Symfony Mailer. نظرا لهذا، ستراعي Laravel9 حيث ستعتمد المكتبة الجديدة Symfony Mailer في تنفيذ عمليات البريد الإلكتروني.

إلغاء الملف server.php

تغيير طفيف آخر قادم مع Laravel9 وهو إلغاء الملف server.php حيث تم تضمين الكود الخاص به ضمن الملفات الرئيسية لإطار العمل Laravel9. ولا يوجد استخدام لهذا الملف سوى تنفيذ الأمر:

وتعتبر هذه أبرز التغييرات القادمة في Laravel9 وسيتم معرفة المزيد بعد الصدور الرسمي لها بتاريخ 9 فبراير 2022.