یک نگاه به چیزی که توی لاراول 11 اومده

لاراول 11
لاراول 11


‏ پوشه بندی ساده شده

تعداد فایل هایی که نصب میشن 69 تا کمتر شدن
اینا چیزایه که توی بتا بود ممکنه عوض بشن ولی در حال حاضر این چیزیه که انتظار داریم باشه :

  • کنترلر ها به صورت پیشفرض از چیزی extend نمیشن
  • فایل های config حذف شدن
  • دیگه پوشه middleware نداریم

در حال حاضر لاراول 9 تا middleware داره و بیشترشونم کاستومایز نمیکنید ولی اگه احیانا خواستید کاستومایز کنید به پوشه App/ServiceProvider منتقل شده . برای مثال :

public function boot(): void{
        EncryptCookies::except(['some_cookie']);
}

دیگه Http/Kernel وجود نداره

بیشتر کارهایی که توی kernel میکردید رو الان میتونید توی Bootstrap/App انجام بدید

return Application::configure()
        ->withProviders()
    - ›withRouting(
        web: __DIR__ . '/../routes/web.php'
        commands: __DIR__ . '/../routes/console.php',
    )
    ->withMiddleware(function (Middleware Smiddleware) {
    $middleware->web(append: LaraconMiddleware::class):
    })


‏ Model cast ها تغییر کردند

الان دیگه Model cast ها به عنوان یک متد تعریف میشن نه یک پراپرتی وقتی که به عنوان متد تعریف میشن ما میتونیم کار های دیگه ای هم بکنیم مثلا متد های دیگه رو مستقیما فراخوانی کنیم . اینجا یه مثال از لاراول 11 آوردیم :

protected function casts(): array
{
    return [
        'email_verified_at' => 'datetime',
        'password' => 'hashed',
        'options'=› AsEnumCollection::of(UserOption::class),
    ];
}


تغییرات config

لاراول کلی فایل کانفیگ داره و لاراول 11 همشونو پاک کرده و از اون طرف env. بزرگتر شده و همه config هایی که نیازه ست کنید رو داره

برا همین کامند جدید config:publish هم اومده پس شما میتونید هر کانفیگی که بخواید رو برگردونید . با این حال بازم هر آپشنی که نمیخواید کاستومایز کنید رو میتونید حذف کنید

متد جدید once

توی لاراول 11 helper جدید once اومده که براتون تضمین میکنه همیشه یک مقدار مشابه رو ازش بگیرید بی توجه به این که چندبار فراخوانی شده . فانکشن once وقتی کاربرد داره که بخوای مطمئن شی یه کدی فقط یکبار اجرا بشه.

مایگریشن های دیفالت کوچکتر شده

قبلا توی لاراول یه سری مایگریشن دیفالت با تاریخ های 2014 و 2019 بود که الان دیگه تاریخ هاشون حذف شده و دوتا فایل شدن


‏Route ها تغییر کرده اند

توی لاراول 11 به صورت پیشفرض فقط console.php و web.php داریم و اگه بخواید روت های api رو هم داشته باشید باید کامند php artisan install:api رو بزنید و برای وب سوکت هم همینطور کامند php artisan install:broudcasting رو بزنید


‏ Health Route جدید up

تو لاراول 11 health route جدید up اومده که از DiagnosingHealthEvent استفاده میکنه پس میتونید به کمکش بهتر برنامتون رو مانیتور (نظارت) کنید

تغییر در APP_KEY

تو نسخه های قدیمی تر لاراول اگه APP_KEY رو تغییر میدادی دیتای توی دیتابیس ممکن بود خراب بشه اما توی لاراول 11 با استفاده از APP_PREVIOUS_KEYS در env. دیگه برای دیتای رمزنگاری شده‌ی قدیمی مشکلی پیش نمیاد. این میاد و دیتای های قدیمی رو با کلید جدید دوباره رمزنگاری میکنه


کرنل Console حذف شده

توی لاراول 11 کرنل Console حذف شده و شما میتونید کامند هاتون رو توی routes/console.php تعریف کنید


لاراول 11 قراره 12 مارس یعنی دو روز دیگه بیاد ولی اگه بخوایید میتونید با این کامند الان نصبش کنید

laravel new cleverdevs --dev

و پیش نیاز های لاراول 11 رو هم میتونید توی این تصویر ببینید

پیشنیاز های لاراول 11
پیشنیاز های لاراول 11

منبع :

https://laravel-news.com/laravel-11

پیشنهاد میکنم حتما به لینک بالا سر بزنید و توضیحات و مثال های بیشتر رو ببینید

در آخر اگه پست رو دوست داشتید لایک کنید و اگه مشکلی داره کامنت بزارید❤️