Laravel 10 je tady
Trochu se zpožděním k nám dorazila nová verze Laravel 10. Pojďme se podívat co nového nám to opět přineslo.
Končí podpora PHP 8.0
V nejnovější verzi Laravel framework ukončuje podporu PHP 8.0. Minimální požadovaná PHP verze je tedy 8.1. Při srovnání masteru a větví 9.x můžeme vidět, že framework již využívá features verze 8.1, jako jsou například readonly properties.
Laravel Penant
Laravel Penant je balíček vytvořený Laravel týmem, který přichází s Laravel 10 a nabízí "Features Flags" pro naší aplikaci. Features flags pak prakticky umožňují postupně uvolňovat nové funkce, A/B testy atd. Díky tomu, že se jedná o oficiální Laravel balíček, si můžeme být jisti že se jedná o dobře napsaný a dobře otestovaný package, který nabízí praktické funkcionality.
Process layer
Pod tímto pojmem si můžeme představit mnohem jednodušší práci s procesy, které probíhají během runtime aplikace. Díky nového/přepracovaného API je tak práce, testování a spouštění CLI procesů efektivnější. Základní použití této novinky společně s dalšími příklady můžete vidět v pull requestu od Taylora Otwella:
use Illuminate\Support\Facades\Process;
$result = Process::run('ls -la');
$result->successful();
$result->failed();
$result->exitCode();
$result->output();
$result->errorOutput();
$result->throw();
$result->throwIf($condition);
Nativní typové deklarace
V Laravel 10 jsou přepracované všechny nativní typové deklarace, včetně těch, které si můžete vygenerovat. To znamená, že jakýkoliv vygenerovaný kód z frameworku bude mít type-hints a návratové typy.
Automatické invokable validační pravidla
Od nové verze jsou defaultně generované invokable validační pravidla. Když si tedy vytvoříte nové validační pravidlo pomocí artisanu, tohle je co můžete očekávat:
# Laravel 9 vytvari tridu ktera implementuje
# Illuminate\Contracts\Validation\Rule interface
artisan make:rule Uppercase
# Laravel 9 flag pro vytvoreni invokable a implicitni pravidla
artisan make:rule Uppercase --invokable
artisan make:rule Uppercase --invokable --implicit
# Laravel 10 vytvari invokable pravidlo automaticky
artisan make:rule Uppercase
# Laravel 10 implicitni pravidlo
artisan make:rule Uppercase --implicit
Profile option pro testy
V Laravel 10 je možnost využít možnost --profile
, díky čemuž je jednodušší najít pomalé testy nebo si udělat přehled, které jsou pomalejší a díky tomu je nespouštět pokaždé.
Deprecations z Laravel 9
Jako s každou verzí, i zde najdeme řadu deprecations, které v nové verzi již nelze použít. Celý seznam najdete zde, společně z dokumentací jak upgradovat na Laravel 10.