ویژگی‌های جدید لاراول ۱۲ | راهنمای کامل و تفاوت با نسخه قبل

ویژگی‌های جدید لاراول ۱۲ | راهنمای کامل و تفاوت با نسخه قبل

لاراول همیشه مرزهای توسعه‌ی فریمورک‌های وب را جابجا کرده است و نسخه‌ی جدید، یعنی لاراول ۱۲، نیز از این قاعده مستثنا نیست.

این نسخه‌ی آینده با انبوهی از بروزرسانی‌های هیجان‌انگیز طراحی شده تا زندگی توسعه‌دهندگان را ساده‌تر، سریع‌تر و ایمن‌تر کند. از بهبود عملکرد و تسهیل روندهای کاری گرفته تا ابزارهای مدرن و قابلیت‌های پیشرفته، لاراول ۱۲ وعده‌ی بردن توسعه‌ی وب به سطح بالاتری را می‌دهد.

اما چرا باید به این تغییرات اهمیت بدهید؟ چه ویژگی‌های جدیدی لاراول ۱۲ را متمایز می‌کند و چگونه می‌توانند به شما در ساخت اپلیکیشن‌های بهتر کمک کنند؟

در این مقاله، به بررسی اولیه‌ی مهم‌ترین بهبودها، دلایل اهمیت آن‌ها و مقایسه با نسخه‌های قبلی می‌پردازیم.

آنچه در این مقاله می‌خوانید:

  • آپدیت نسخه‌های لاراول

  • بهبود عملکرد اپلیکیشن در لاراول ۱۲

  • ویژگی‌های جدید کلیدی در لاراول ۱۲

  • توابع منسوخ شده در لاراول ۱۲

  • آموزش نصب لاراول ۱۲ روی Cloudways

آپدیت نسخه‌های لاراول

همه‌ی نسخه‌های لاراول تا ۱۸ ماه پشتیبانی از باگ فیکس‌ها و تا ۲ سال پشتیبانی از رفع مشکلات امنیتی دریافت می‌کنند.

نسخه نسخه PHP تاریخ انتشار پایان باگ فیکس پایان امنیت
۹ ۸.۰ – ۸.۲ ۸ فوریه ۲۰۲۲ ۸ آگوست ۲۰۲۳ ۶ فوریه ۲۰۲۴
۱۰ ۸.۱ – ۸.۳ ۱۴ فوریه ۲۰۲۳ ۶ آگوست ۲۰۲۴ ۴ فوریه ۲۰۲۵
۱۱ ۸.۲ – ۸.۳ ۱۲ مارس ۲۰۲۴ ۳ سپتامبر ۲۰۲۵ ۱۲ مارس ۲۰۲۶
۱۲ ۸.۲ – ۸.۳ سه ماهه اول ۲۰۲۵ سه ماهه سوم ۲۰۲۶ سه ماهه اول ۲۰۲۷

چگونه لاراول ۱۲ عملکرد اپلیکیشن‌ها را بهبود می‌دهد؟

لاراول ۱۲ پیشرفت‌های چشمگیری در عملکرد اپلیکیشن ارائه می‌دهد که آن را گزینه‌ای عالی برای توسعه‌ی اپلیکیشن‌های سریع، مقیاس‌پذیر و واکنش‌گرا می‌کند.

مهم‌ترین تغییرات:

  • معرفی مکانیزم کش آسنکرون برای اجرای عملیات کش بدون مسدودسازی پردازش‌های دیگر.

  • بهینه‌سازی اجرای کوئری‌ها در Query Builder برای استفاده بهتر از امکانات پایگاه داده‌ها.

  • بهره‌برداری از قابلیت‌های مدرن PHP 8+ مانند JIT Compilation برای افزایش سرعت اجرا.

  • مدیریت هوشمند صف‌ها و جاب‌ها با اولویت‌بندی پویا و Retry خودکار.

ویژگی‌های کلیدی جدید در لاراول ۱۲

۱. بهبود عملکرد و مقیاس‌پذیری

لاراول ۱۲ از کش آسنکرون و استفاده بهتر از ویژگی‌های PHP برای سرعت بیشتر اپلیکیشن‌های تحت فشار سنگین بهره می‌برد.

مثال:

قبل از آپدیت:

$user = Cache::remember('user_'.$id, 600, function () use ($id) {
    return User::find($id);
});

بعد از آپدیت:

$user = Cache::asyncRemember('user_'.$id, 600, function () use ($id) {
    return User::find($id);
});

۲. Dependency Injection ساده‌تر

لاراول ۱۲ با استفاده از Property Promotion در PHP 8، تعریف دیپندنسی‌ها را آسان‌تر و خواناتر می‌کند.

قبل از آپدیت:

class UserController {
    protected $service;
    public function __construct(UserService $service) {
        $this->service = $service;
    }
}

بعد از آپدیت:

class UserController {
    public function __construct(protected UserService $service) {}
}

۳. تجربه توسعه‌دهنده بهبود یافته

لاراول ۱۲ با اضافه کردن:

  • سیستم جدید Scaffolding

  • Linting زنده

  • مدیریت بهتر خطاها

تجربه‌ی توسعه‌دهندگان را بسیار بهتر کرده است.

مثال ساخت منابع:

قبل از آپدیت:

php artisan make:model Product -mcr

بعد از آپدیت:

php artisan scaffold Product

۴. بهبود Query Builder

با افزودن متدهایی مثل nestedWhere، نوشتن کوئری‌های پیچیده ساده‌تر شده است.

قبل از آپدیت:

$users = DB::table('users')
    ->where('status', 'active')
    ->where(function ($query) {
        $query->where('age', '>', 25)
              ->orWhere('city', 'New York');
    })->get();

بعد از آپدیت:

$users = DB::table('users')
    ->where('status', 'active')
    ->nestedWhere('age', '>', 25, 'or', 'city', 'New York')
    ->get();

۵. بهبود امنیت

افزودن متد secureValidate باعث می‌شود قوانین اعتبارسنجی با تمرکز بر امنیت قوی‌تر شوند.

قبل از آپدیت:

$request->validate([
    'password' => 'required|min:8',
]);

بعد از آپدیت:

$request->secureValidate([
    'password' => ['required', 'min:8', 'strong'],
]);

۶. بروزرسانی ابزارهای فرانت‌اند

لاراول ۱۲ با ابزارهایی مثل Vite و Tailwind CSS ادغام کامل شده است.

نصب Frontend:

قبل:

php artisan ui vue

بعد:

php artisan frontend:install vue

۷. توسعه‌ی بهتر API

لاراول ۱۲ از GraphQL به طور پیش‌فرض پشتیبانی می‌کند و ورژن‌بندی API بهبود یافته است.

مثال:

قبل:

Route::get('/api/v1/users', [UserController::class, 'index']);

بعد:

Route::apiVersion(1)->group(function () {
    Route::get('/users', [UserController::class, 'index']);
});

۸. ابزارهای جدید تست و دیباگ

دیباگر جدید مبتنی بر هوش مصنوعی به توسعه‌دهندگان پیشنهادهای اصلاحی در زمان اجرا می‌دهد.

قبل:

dd($variable);

بعد:

debug($variable)->suggest();

۹. ارتقای ORM قدرتمند Eloquent

ویژگی‌هایی مثل بارگذاری مشروط روابط و فیلتر کردن روابط به ORM اضافه شده است.

قبل:

$users = User::with(['posts' => function ($query) {
    $query->where('status', 'published');
}])->get();

بعد:

$users = User::withFiltered('posts', ['status' => 'published'])->get();

۱۰. مدیریت پیشرفته صف و جاب‌ها

اولویت‌بندی داینامیک و Retry هوشمند، مدیریت صف‌ها را بسیار کارآمدتر می‌کند.

۱۱. ادغام بهتر با DevOps

توابع منسوخ شده در لاراول ۱۲دستور deploy:prepare، عملیات‌هایی مثل پاکسازی کش، اجرای میگریشن‌ها و کامپایل دارایی‌ها را خودکارسازی می‌کند.

composer create-project --prefer-dist laravel/laravel blog

توابع منسوخ شده در لاراول ۱۲

در لاراول ۱۲ برخی توابع منسوخ می‌شوند:

  • حذف استفاده از restore() در Global Scopes

  • اجباری شدن استفاده از رشته‌ها در route()

  • حذف تعریف روابط مدل به صورت آرایه

  • جایگزینی قانون اعتبارسنجی same با compare

  • حذف توابع کمکی قدیمی برای تحلیل URL

چگونه لاراول ۱۲ را روی Cloudways نصب کنیم؟

۱. وارد حساب Cloudways شوید.
۲. گزینه “Launch” را انتخاب کنید.
۳. نوع اپلیکیشن را “Laravel Application” تعیین کنید.
۴. سرویس‌دهنده، سایز و موقعیت سرور را انتخاب کنید.
۵. روی “Launch Now” کلیک کنید.

بعد از آماده شدن سرور:

  • وارد SSH شوید.

  • به پوشه public_html بروید.

  • دستور زیر را اجرا کنید:

composer create-project --prefer-dist laravel/laravel blog

سپس از طریق مرورگر به آدرس اپلیکیشن خود بروید و صفحه‌ی خوشامدگویی لاراول را ببینید.

توجه: این دستورالعمل‌ها بر اساس نصب لاراول ۱۰/۱۱ تهیه شده‌اند و ممکن است با انتشار رسمی لاراول ۱۲ کمی تغییر کنند.

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید