برنامه نویس بکند لاراول و علاقه مند به اوپن سورس
یک نگاه به چیزی که توی لاراول 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 رو هم میتونید توی این تصویر ببینید
منبع :
پیشنهاد میکنم حتما به لینک بالا سر بزنید و توضیحات و مثال های بیشتر رو ببینید
در آخر اگه پست رو دوست داشتید لایک کنید و اگه مشکلی داره کامنت بزارید❤️
مطلبی دیگر از این انتشارات
آموزش نصب و راه اندازی inertia - vue3
مطلبی دیگر از این انتشارات
جستجو در جداول برای FilamentPHP
مطلبی دیگر از این انتشارات
در نسخه ی 6 لاراول چه چیزی اضافه شده است ؟