Laravel v10 to kolejna duża wersja Laravel, której premiera planowana jest na 7 lutego 2023 roku. W tym poście chcieliśmy przedstawić wszystkie nowe funkcje i zmiany, o których wiemy.
Zachęcamy do ponownego sprawdzania tego postu w nadchodzących tygodniach, ponieważ będziemy nadal monitorować, co nadchodzi w Laravel 10 i aktualizować ten post przed lutowym wydaniem.
Data premiery Laravela 10
Przed Laravel 9, główne wersje frameworku były wydawane dwa razy w roku lub mniej więcej co sześć miesięcy. Począwszy od Laravel 9, główny zespół przeszedł do rocznego harmonogramu, wysyłając Laravel 9 w lutym 2022 r. (Zamiast pierwotnie planowanego września 2021 r.):
Laravel wykorzystuje różnorodne pakiety kierowane przez społeczność, a także dziewięć komponentów Symfony dla wielu funkcji w ramach. Symfony 6.0 ma zostać wydany w listopadzie. Z tego powodu zdecydowaliśmy się opóźnić wydanie Laravel 9.0 do 2022 roku.
Opóźniając wydanie, możemy uaktualnić nasze podstawowe komponenty Symfony do Symfony 6.0 bez konieczności czekania do września 2022 r. z wykonaniem tej aktualizacji. Ponadto, to lepiej pozycjonuje nas do przyszłych wydań, ponieważ nasze coroczne wydania będą zawsze miały miejsce dwa miesiące po wydaniach Symfony.
Ten harmonogram obejmuje jedną dużą publikację rocznie:
- Laravel 9: 8 lutego 2022 r
- Laravel 10: 7 lutego 2023 r
- Laravel 11: 6 lutego 2024 r
Laravel 9 będzie nadal otrzymywać poprawki błędów do czasu 8 sierpnia 2023 r i poprawki bezpieczeństwa do godz February 6th, 2024.
Możesz spodziewać się poprawek błędów Laravel 10 do 6 sierpnia 2024 r i poprawki bezpieczeństwa do godz 4 lutego 2025 r.
Nowy konkurs polowania na błędy
Laravel 10 zawiera zupełnie nowy Konkurs szukania błędów działa teraz do oficjalnej daty premiery.
Laravel 10 rezygnuje z obsługi PHP 8.0
Framework Laravel zrezygnuje z obsługi PHP <=v8.0
w Laravel 10. Minimalna wymagana wersja to PHP ^ 8.1
. Przeglądanie porównanie between master and 9.x, możemy się spodziewać 8.1 funkcje używane w ramach, takie jak właściwości tylko do odczytu.
Deklaracje typu natywnego w szkielecie Laravel 10
W Laravelu 10 tzw Kod szkieletu aplikacji będzie miał deklaracje typu natywnego. Oznacza to, że każdy kod w przestrzeni użytkownika generowany przez framework będzie zawierał wskazówki typu i zwracane typy. W naszym artykule omówiono zastrzeżenia dotyczące tego podejścia i uważamy, że pokochasz dodane typy podczas tworzenia nowych projektów w przyszłości.
Typy są dodawane w sposób, który wprowadza najnowsze funkcje podpowiedzi PHP do projektów Laravel bez naruszania kompatybilności wstecznej na poziomie frameworka:
- Zwracane typy
- Argumenty metody
- Zbędne adnotacje są usuwane tam, gdzie to możliwe
- Zezwalaj na typy terenu użytkownika w argumentach zamknięcia
- Nie obejmuje wpisanych właściwości
Reguły walidacji, które można wywołać, są domyślne
Począwszy od Laravela 10, wywoływalne reguły walidacji są teraz domyślne. Oto, czego możesz się spodziewać, gdy tworzysz nową regułę sprawdzania poprawności za pośrednictwem rzemieślnika:
# Laravel 9 creates a rule class that implements the
# Illuminate\Contracts\Validation\Rule interface
artisan make:rule Uppercase
# Laravel 9 flag to create an invokable and implicit rule
artisan make:rule Uppercase --invokable
artisan make:rule Uppercase --invokable --implicit
# Laravel 10 creates an invokable rule by default
artisan make:rule Uppercase
# Laravel 10 implicit rule
artisan make:rule Uppercase --implicit
Wycofania z Laravel 9
Methods marked at deprecated in Laravel 9 are being removed in Laravel 10. We can expect the release upgrade guide to outlining all the deprecated metodas, potential impact assessment, and how to upgrade closer to the release.
Oto niektóre przestarzałe znalezione w comparison z frameworka Laravel master
oddział do 9.x
oddział w momencie pisania:
- Usuń różne wycofania Żądanie ściągnięcia nr 41136
- Usuń przestarzałą właściwość dat w Żądanie ściągnięcia nr 42587
- Usunąć
uchwytDeprecjacja
metoda in Żądanie ściągnięcia nr 42590 - Usuń przestarzałe
assertTimesSent
method Żądanie ściągnięcia nr 42592 - Usuń przestarzałe
HarmonogramListaPolecenie
's$domyślna nazwa
własność 419471e - Usuń przestarzałe
Trasa::dom
method Żądanie ściągnięcia #42614 - Usuń przestarzałe
wyślij teraz
funkcjonalność Żądanie ściągnięcia nr 42591
Testowanie Laravela 10
Jeśli chcesz rozpocząć testowanie Laravela 10 już teraz, możesz zainstalować go w nowym projekcie, używając pliku --dev
flaga:
laravel new <your-project-name> --dev
Aktualizacja do Laravela 10
Gdy Laravel 10 stanie się oficjalny, upewnij się i sprawdź Zmiana Laravela aby w prosty i zautomatyzowany sposób zapewnić aktualność aplikacji.
I więcej...
Laravel 10 jest jeszcze za kilka miesięcy i pojawi się więcej nowych funkcji i ogłoszeń. Będziemy aktualizować ten post, gdy zostaną ogłoszone. Możesz też sprawdzić tzw oficjalna strona wydania aby wyszukiwać zaktualizowane informacje, gdy tylko staną się dostępne.