نسخه 9.31 لاراول منتشر شد

320 بازدید 2 سال قبل 0 دیدگاه

نسخه 9.31 لاراول هم با چند ویژگی جذاب و نیمه جذاب بالاخره منتشر شد. در این مطلب سری میزنیم به مهمترین ویژگی های این بروزرسانی

کال بک برای request lifecycle

اگر بخواید زمانی که اجرای یک request بیشتر از مدت زمان معینی طول کشید، یک کال بک رو اجرا کنید، نسخه جدید لاراول راهکار خیلی خوبی رو براتون در نظر گرفته:

use Carbon\CarbonInterval as Interval;
use Illuminate\Contracts\Http\Kernel;
 
public function boot()
{
    $kernel = app()->get(Kernel::class);
    $kernel->whenRequestLifecycleIsLongerThan(
        Interval::seconds(1),
        fn ($startedAt, $request, $response) => /* ... */
    );
}

میشه گفت این قابلیت، مشابه قابلیتی با همین کارکرد هست که در لاراول 9.18 برای query ها در eloquent اضافه شده بود.

جلوگیری از تغییر updated_at

از این به بعد اگر بخوای موقع بروزرسانی یک مدل، مقدار updated_at در اون تغییر نکنه میتونی از متد withoutTimestamps استفاده کنی.

$post = Post::first();
 
Post::withoutTimestamps(
    fn () => $post->update(['created_at' => now()])
);

مشاهده تمام append های مدل

با استفاده از متد جدید getAppends میتونی تمام پراپرتی هایی که به مدل append شدند رو مشاهده کنی:

$user->getAppends();

متد wrap برای Str

با استفاده از متد wrap در کلاس Str میتونی به ابتدا و انتهای string، رشته های دلخواهت رو اضافه کنی

Str::wrap('sirvan monfared', 'developer', 'from iran'); // 'deveoper sirvan monfared from iran'
str('sirvan monfared')->wrap('developer', 'from iran'); // 'deveoper sirvan monfared from iran'

اشافه کردن ماکرو به vite

توی این نسخه از لاراول میتونی برای vite هم ماکرو تعریف کنی و متدهای دلخواهت رو بهش اضافه کنی:

Vite::macro('image', fn ($image) => $this->asset("resources/imgs/{$image}"));
 
// Usage: <img src="{{ Vite::image('mypic.jpg') }}" ... >

دیگه چی؟

البته که ویژگی ها و تغییرات لاراول در این نسخه، به همین موارد محدود نمیشه و موارد دیگه ای هم هست که مجال اشاره به اونها در این مطلب نبوده مثل fake batch و vite manifest hash و .... . برای مشاهده تمام تغییرات در نسخه 9.31 لاراول میتونید به این لینک مراجعه کنید.

0 دیدگاه   (ارسال دیدگاه)