Laravel: من الإصدار 5 إلى اليوم
لم يتغير Laravel فحسب، بل نضج.
إذا فتحت مشروع Laravel 5 قديمًا، فسترى منزلاً بغرف من عقود مختلفة. إنه يعمل، لكن المتحكمات (controllers) تقوم بالكثير من المهام. الـ middleware قديم. ملفات المساعدة (helper files) فوضوية.
ومع ذلك، يظل الجوهر كما هو. لا تزال تستخدم routes و Eloquent و migrations و Blade.
لم يتحول Laravel إلى إطار عمل مختلف، بل أصبح نسخة ناضجة من الفكرة نفسها: منحك إعدادات افتراضية نظيفة لتتمكن من إطلاق منتجاتك دون الصراع مع البنية التحتية (plumbing).
تطور الحرفة
كان Laravel 5 صندوق أدوات متينًا. جعل PHP يبدو كمنصة جادة مرة أخرى. لقد منحك:
- Middleware لتصفية الطلبات (request filtering).
- Form requests لتنظيف عملية التحقق (validation).
- Jobs و queues للمهام الخلفية (background tasks).
- Eloquent لنماذج قواعد بيانات تعبيرية (expressive database models).
ركزت إصدارات Laravel 6 و 7 و 8 على جعل العمل اليومي أكثر سلاسة.
- جلب الترقيم الإصداري الدلالي (Semantic versioning) الاستقرار.
- جعلت الـ Factories اختبار البيانات سهلاً.
- أوقفت مكونات Blade (Blade components) تكرار الكود.
- بسّط Sanctum مصادقة الـ API.
تبنى Laravel 9 و 10 لغة PHP الحديثة.
- حصلت على خصائص محددة النوع (typed properties) وأنواع إرجاع (return types) أفضل.
- أصبح الاختبار (Testing) جزءًا أساسيًا من سير العمل.
- توسعت المنظومة (ecosystem) لتتجاوز مجرد الكود.
Laravel الحديث هو ورشة عمل كاملة. يتضمن النشر (deployment)، والمراقبة (monitoring)، وسير العمل المدعوم بالذكاء الاصطناعي (AI-aware workflows).
المنظومة (Ecosystem) هي القوة الحقيقية
Laravel أكثر من مجرد إطار عمل؛ إنه مدينة من الخدمات. لست بحاجة إلى كل شيء في اليوم الأول، ولكن يجب أن تعرف بوجودها:
- Deployment: يدير Forge الخوادم. ويتعامل Vapor مع التوسع بدون خوادم (serverless scaling) على AWS. ويضمن Envoyer النشر دون انقطاع (zero-downtime deployments).
- Management: يوفر Nova لوحات تحكم إدارية مميزة (premium admin panels).
- Visibility: يراقب Horizon طوابير Redis. ويعمل Telescope كمساعد لتصحيح الأخطاء (debugging assistant). ويتتبع Pulse الأداء.
- Real-time: يوفر Reverb دعمًا أصليًا لـ WebSocket.
- Core Utilities: يتعامل Cashier مع الفواتير (billing). ويتعامل Scout مع البحث. ويتعامل Sanctum مع مصادقة الـ API.
التحول من إطار عمل إلى منظومة
التغيير الأكبر هو مستوى الاستفادة (leverage). ساعدك Laravel 5 على تنظيم PHP. أما Laravel الحديث فيساعدك على البناء، والنشر، والمراقبة، والتوسع، والبحث.
إنه ينقلك من حمل حقيبة ظهر ثقيلة إلى استخدام حقيبة يد منظمة جيدًا. تحمل فوضى أقل ولكنك تحتفظ بكل الإمكانيات.
نصائح لترقية التطبيقات القديمة (Legacy Apps)
لا تتعامل مع الترقية كمهمة لإعادة كتابة كل شيء. تعامل معها كترميم منزل بينما يعيش فيه الناس.
- قم بترقية إصدار رئيسي واحد في كل مرة.
- استخدم الاختبارات (tests) لحماية منطق العمل (business logic) الخاص بك.
- تحقق من تبعيات الحزم (package dependencies) أولاً.
- اقرأ أدلة الترقية (upgrade guides)، وليس فقط ملاحظات الإصدار (release notes).
البنية التحتية المملة هي أمر جميل. فهذا يعني أنك تقضي طاقتك في منطق المنتج بدلاً من التوصيلات والأسلاك.
Source: https://dev.to/nazar_boyko/laravel-from-version-5-to-today-the-framework-grew-up-with-us-3cil
