لاراول ۱۲؛ استارترکیتهای جدید و بهبود کارایی
5 تیر 1405لاراول نسخهٔ ۱۲ در تاریخ ۲۴ فوریهٔ ۲۰۲۵ منتشر شد و مسیر بهبودهای نسخهٔ ۱۱ را ادامه میدهد. این نسخه بیش از آنکه یک بازنگری بزرگ باشد، یک «انتشار نگهداری» (maintenance release) محسوب میشود که هدف اصلیاش بهروزرسانی وابستگیهای بالادستی و معرفی استارترکیتهای جدید است. خبر خوب برای تیمها این است که بیشتر اپلیکیشنها بدون نیاز به تغییر کد میتوانند به این نسخه ارتقا پیدا کنند. در ادامه مهمترین تغییرات را بررسی میکنیم.
استارترکیتهای جدید
بزرگترین تغییر قابللمس در لاراول ۱۲، مجموعهٔ تازهای از استارترکیتها برای فریمورکهای فرانتاند مدرن است. این کیتها جایگزین Laravel Breeze و Jetstream قدیمی شدهاند و گزینهٔ استفاده از WorkOS AuthKit را برای احراز هویت کاربران فراهم میکنند:
- React Starter Kit: شامل Inertia.js، React 19، تایپاسکریپت، Tailwind CSS و کامپوننتهای shadcn.
- Vue Starter Kit: شامل Inertia.js، Vue 3، تایپاسکریپت و shadcn-vue.
- Livewire Starter Kit: شامل Livewire 3، تایپاسکریپت، Tailwind و کامپوننتهای Flux UI.
ساخت پروژه با استارترکیت دلخواه بهسادگی انجام میشود:
laravel new my-app
# سپس در حین نصب، استارترکیت React، Vue یا Livewire را انتخاب کنید
بهبود کارایی Container
لاراول ۱۲ کانتینر تزریق وابستگی (Dependency Injection) خود را بازآرایی کرده تا سرعت resolve کردن سرویسها بالاتر و مصرف حافظه کمتر شود. نتیجهٔ این تغییر، زمان بوتشدن سریعتر و عملکرد کلی بهتر است؛ بهویژه در اپلیکیشنهای بزرگمقیاس که تعداد زیادی سرویس در کانتینر ثبت میشود این بهبود محسوس خواهد بود.
پشتیبانی از Route Attributes
یکی از قابلیتهای مورد توجه، امکان تعریف مسیرها با استفاده از صفتهای PHP 8 بهصورت مستقیم بالای متدهای کنترلر است. دیگر لازم نیست همهٔ مسیرها را در فایلهای جداگانهٔ routes تعریف کنید؛ هرچند روش فایلمحور همچنان پشتیبانی میشود.
use Illuminate\Routing\Attributes\Get;
use Illuminate\Routing\Attributes\Post;
class ProductController
{
#[Get('/products', name: 'products.index')]
public function index()
{
return Product::paginate();
}
#[Post('/products', name: 'products.store')]
public function store(StoreProductRequest $request)
{
return Product::create($request->validated());
}
}
Health Check داخلی و بهبود Job Batching
لاراول ۱۲ مسیر بررسی سلامت (health check) داخلی را معرفی میکند که برای پایش وضعیت اپلیکیشن در محیطهای containerized و ابزارهای ارکستراسیون مثل Kubernetes بسیار کاربردی است. همچنین قابلیت batching در صفها (queues) تقویت شده و مدیریت گروهی job ها قابلاعتمادتر شده است؛ نکتهای که برای پلتفرمهای پردازشسنگین و سیستمهای معاملاتی اهمیت ویژهای دارد.
الزامات سیستمی و وضعیت پشتیبانی
لاراول ۱۲ همچنان حداقل نسخهٔ PHP 8.2 را الزامی میداند، بنابراین اگر روی PHP 8.2 یا بالاتر هستید مشکلی برای ارتقا نخواهید داشت. از آنجا که این نسخه عمدتاً برای بهروزرسانی وابستگیها منتشر شده، فرایند ارتقا از لاراول ۱۱ به ۱۲ معمولاً بدون تغییر در کد اپلیکیشن انجام میشود.
مسیر ارتقا
برای ارتقا کافی است نسخهٔ پکیج اصلی را در composer.json بهروز کنید و سپس دستور بهروزرسانی را اجرا نمایید:
composer require laravel/framework:^12.0 --update-with-dependencies
composer update
php artisan about
پس از ارتقا، حتماً راهنمای رسمی Upgrade Guide را مرور کنید و تستهای خودکار پروژه را اجرا کنید تا از سازگاری وابستگیهای جانبی اطمینان حاصل شود.
جمعبندی
لاراول ۱۲ یک نسخهٔ تکاملی و کمریسک است که تمرکزش بر مدرنسازی ابزار توسعه، استارترکیتهای فرانتاند یکپارچه با تایپاسکریپت، و بهبود کارایی کانتینر است. برای تیمهایی که اپلیکیشنهای پرترافیک یا پلتفرمهای وب پرسرعت میسازند، بهبود زمان بوت و health check داخلی ارزش واقعی ایجاد میکند. اگر روی نسخهٔ ۱۱ هستید، ارتقا به ۱۲ معمولاً سریع و کمدردسر خواهد بود و توصیه میشود در چرخهٔ نگهداری بعدی پروژه آن را انجام دهید.