Laravel 9.31 Çıktı

Laravel ekibi, istek yaşam döngüsü süresi işleyicisi, zaman damgalarını değiştirmeden modeli güncelleme, test için sahte gruplar ve daha fazlasıyla 9.31'i yayınladı:

Yaşam döngüsü süresi işleyicisi iste

Tim MacDonald, bir istek yaşam döngüsü belirli bir zaman sınırından uzun olduğunda bir geri arama işleyicisine katkıda bulundu:

use Carbon\CarbonInterval as Interval;
use Illuminate\Contracts\Http\Kernel;

public function boot()
{
    if ($this->app->runningInConsole()) {
        return;
    }

    $kernel = $this->app[Kernel::class];
    $kernel->whenRequestLifecycleIsLongerThan(
        Interval::seconds(1),
        fn ($startedAt, $request, $response) => /* ... */
    );
}

Bu geri arama, istek yaşam döngüsü için Laravel 9.18 Released'de yayınlanan kümülatif veri tabanı sorgu süresine benzer.

"Zaman damgası olmayan" model özelliği

Tim MacDonald withoutTimestamps(), değişmeyecek statik bir yönteme katkıda bulundu updated_at:

$user = User::first();


// `updated_at` is not changed...

User::withoutTimestamps(
    fn () => $user->update(['reserved_at' => now()])
);

Vite manifestHash function

Enzo Innocenzi, sınıfa bildirim varsa benzersiz bir karma döndüren manifestHash() yönteme için katkıda bulundu. Vite, Bu varlıkları geçersiz kılmak için kullanılabilir. Daha fazla ayrıntı için Çekme İsteği #44136'ya bakın.

Sahte gruplar

Taylor Otwell sahte gruplara katkıda bulundu:

> Bir toplu işin bir iş tarafından iptal edilip edilmediği veya bir işin bir toplu işlere ek işler eklenip eklenmediği gibi şeyleri test etmek şu anda zor. El ile bir FakeBatch oluşturmanız ve iptal/ekleme yöntemlerini vb. geçersiz kılmanız gerekir.
Bu bunu çözer.
[$job, $batch] = (new TestJob)->withFakeBatch();

$job->handle();

$this->assertTrue($batch->cancelled());
$this->assertNotEmpty($batch->added);

getAppends() yöntemini modelleyin

Arturo Rodríguez, model dizilerine eklenen erişimcileri almak için Model'e bir erişimci yöntemi ekledi. Bu özel model eşlemeleri için yararlı olabilir:

$model->getAppends();

Str wrap static yöntemi

Steve Bauman Str::wrap(), yalnızca şu şekilde kullanılabilen eksik bir statik yöntem ekledi Stringable:

Str::wrap('-bar-', 'foo', 'baz'); // 'foo-bar-baz'
str('-bar-')->wrap('foo', 'baz'); // 'foo-bar-baz'

Macroable vite

Tim MacDonald, JS yapılandırmanızla eşleşen takma adlar oluşturma Macroable özelliğine katkıda bulundu: Illuminate\Foundation\Vite

Vite::macro('image', fn ($asset) => $this->asset("resources/images/{$asset}"));

// Usage: <img src="{{ Vite::image('profile.png') }}" ... >

Daha fazla ayrıntı için Çekme Talebi #44198'e bakın.

Bu, "Laravel 9.31.0" versiyonu ile ilgiliydi, herhangi bir soru çin support@arsivpro.com adresinden bize ulaşın. Ayrıca Yardım Sistemimizde bir bilet oluşturabilirsiniz.