Laravel 9.37 wydany!

Laravel 9.37 wydany!

Zespół pracujący nad rozwojem frameworka wydał w tym tygodniu wersję oznaczoną numerkiem 9.37 wraz z kilkoma poprawkami między wersją 9.37, a wersją poprzednią oznaczoną jako 9.36. W wydaniach z tego tygodnia dodano obsługę wstępnego ładowania zasobów za pomocą Vite, nowe procedury obsługi ścisłych naruszeń, dane wyjściowe CLI buforowania widoku pełnego i nie tylko.

Buforowanie pełnego widoku

Andrew Brown wniósł możliwość przekazania -v do polecenia artisan view:cache, aby wyświetlić katalogi, w których polecenie szuka, i -vv, aby zobaczyć każdy plik, który polecenie buforuje.

php artisan view:cache -vv

Oto przykład tego, co zobaczysz po nowej instalacji Laravela 9.37:

Cicha obsługa brakujących i odrzucanych atrybutów

Aaron Francis przyczynił się do zarejestrowania funkcji obsługi dla naruszeń trybu ścisłego „po cichu odrzucanych” i „brakujących atrybutów”:

Model::handleMissingAttributeViolationUsing(
    function ($model, $key) {
        // ...
    }
);

Model::handleDiscardedAttributeViolationUsing(
    function ($model, $keys) {

        // ...
    }
);

Pass a closure for the rescue report param

@foremtehan przyczynił się do przekazania wywoływalnego jako parametru $report podczas korzystania z rescue(), dzięki czemu można warunkowo zgłosić błąd na podstawie zwróconej wartości logicznej:

rescue(fn() => 'error', fn() => 'rescue', function(Throwable $e){
    return $e instanceof SomeException;
});

Obsługa wstępnego ładowania zasobów za pomocą Vite

Tim MacDonald przyczynił się do wstępnego załadowania zasobów wymaganych do bieżącego załadowania strony za pomocą Vite. Jest to teraz domyślne zachowanie dla aplikacji Laravel używających Vite. Szczegóły tego, jak to działa, są dość skomplikowane i polecam przeczytanie opisu Pull Request #44096. Możesz również dowiedzieć się więcej o ogólnych koncepcjach wstępnego ładowania krytycznych zasobów, aby przyspieszyć wczytywanie.

Udostępnij ten post

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *