لاراول: از نسخه ۵ تا امروز

لاراول فقط تغییر نکرد، بلکه بالغ شد.

اگر یک پروژه قدیمی لاراول ۵ را باز کنید، خانه‌ای را می‌بینید که اتاق‌هایش متعلق به دهه‌های مختلف است. کار می‌کند، اما کنترلرها بیش از حد مسئولیت دارند. Middlewareها قدیمی هستند و فایل‌های helper شلوغ و نامنظم‌اند.

با این حال، هسته اصلی همان است. شما همچنان از routes، Eloquent، migrations و Blade استفاده می‌کنید.

لاراول به یک فریم‌ورک متفاوت تبدیل نشد؛ بلکه به نسخه بالغی از همان ایده تبدیل شد: ارائه پیش‌فرض‌های تمیز و اجازه دادن به شما برای عرضه محصول، بدون درگیر شدن با زیرساخت‌های پیچیده.

تکامل این حرفه

لاراول ۵ یک جعبه‌ابزار مستحکم بود. باعث شد PHP دوباره مانند یک پلتفرم جدی به نظر برسد. این نسخه به شما امکانات زیر را داد:

  • Middleware برای فیلتر کردن درخواست‌ها.
  • Form requests برای تمیز کردن فرآیند اعتبارسنجی.
  • Jobs و queues برای وظایف پس‌زمینه.
  • Eloquent برای مدل‌های پایگاه داده گویا.

لاراول ۶، ۷ و ۸ بر روان‌تر کردن کارهای روزمره تمرکز کردند.

  • استفاده از Semantic versioning پایداری را به ارمغان آورد.
  • استفاده از Factories، کار با داده‌های تست را آسان کرد.
  • Blade components از تکرار کد جلوگیری کرد.
  • Sanctum احراز هویت API را ساده کرد.

لاراول ۹ و ۱۰ با PHP مدرن همگام شدند.

  • شما به ویژگی‌های تایپ‌شده (typed properties) و انواع بازگشتی بهتر دسترسی پیدا کردید.
  • تست‌نویسی به بخش اصلی جریان کاری تبدیل شد.
  • اکوسیستم فراتر از صرفاً کد گسترش یافت.

لاراول مدرن یک کارگاه کامل است. این شامل استقرار (deployment)، مانیتورینگ و جریان‌های کاری آگاه از هوش مصنوعی (AI-aware) می‌شود.

اکوسیستم، قدرت واقعی است

لاراول چیزی فراتر از یک فریم‌ورک است؛ لاراول شهری از سرویس‌هاست. شما در روز اول به همه آن‌ها نیاز ندارید، اما باید بدانید که وجود دارند:

  • استقرار (Deployment): Forge سرورها را مدیریت می‌کند. Vapor مقیاس‌پذیری بدون سرور (serverless) را در AWS مدیریت می‌کند. Envoyer استقرار بدون قطعی (zero-downtime) را تضمین می‌کند.
  • مدیریت: Nova پنل‌های مدیریت سطح بالا (premium) ارائه می‌دهد.
  • مشاهده‌پذیری (Visibility): Horizon صف‌های Redis را مانیتور می‌کند. Telescope به عنوان دستیار عیب‌یابی عمل می‌کند. Pulse عملکرد (performance) را ردیابی می‌کند.
  • بلادرنگ (Real-time): Reverb پشتیبانی بومی از WebSocket را فراهم می‌کند.
  • ابزارهای اصلی: Cashier امور صورت‌حساب را مدیریت می‌کند. Scout مسئول جستجو است. Sanctum احراز هویت API را بر عهده دارد.

گذار از فریم‌ورک به اکوسیستم

بزرگترین تغییر، میزان بهره‌وری است. لاراول ۵ به شما کمک می‌کرد PHP را سازماندهی کنید. لاراول مدرن به شما کمک می‌کند بسازید، مستقر کنید، مانیتور کنید، مقیاس‌بندی کنید و جستجو انجام دهید.

این تغییر شما را از حمل یک کوله‌پشتی سنگین به استفاده از یک چمدان دستیِ سازمان‌یافته تغییر می‌دهد. شما آشفتگی کمتری را حمل می‌کنید اما تمام قابلیت‌ها را در اختیار دارید.

توصیه‌هایی برای ارتقای اپلیکیشن‌های قدیمی (Legacy)

ارتقا را به عنوان مأموریتی برای بازنویسی همه‌چیز نبینید. با آن مانند بازسازی خانه‌ای برخورد کنید که مردم در آن زندگی می‌کنند.

  • در هر مرحله فقط یک نسخه اصلی را ارتقا دهید.
  • از تست‌ها برای محافظت از منطق تجاری (business logic) خود استفاده کنید.
  • ابتدا وابستگی‌های پکیج‌های خود را بررسی کنید.
  • راهنماهای ارتقا را بخوانید، نه فقط یادداشت‌های انتشار (release notes) را.

زیرساختِ بدون دردسر (Boring infrastructure) زیباست. این یعنی شما انرژی خود را به جای سیم‌کشی و تنظیمات زیرساختی، صرف منطق محصول می‌کنید.

منبع: https://dev.to/nazar_boyko/laravel-from-version-5-to-today-the-framework-grew-up-with-us-3cil