Laravel 7 został wydany!
Laravel 7 został wydany i zawiera sporo nowych funkcji, w tym między innymi Laravel Airlock, lepszą wydajność routingu, niestandardowe Eloquent casts, tagi komponentów Blade, nowy klient HTTP, wsparcie dla CORS i wiele więcej.
Na wstępie również warto wspomnieć o tym, że Laravel od wersji 6, będzie wydawało nowe wersje co 6 miesięcy.
Laravel Airlock
Laravel Airlock dostarcza lekki sposób autentykacji dla aplikacji SPA, mobilnych aplikacji i prostych, opartych o tokeny autoryzacyjne API.
Airlock pozwala użytkownikowi na stworzenie wielu tokenów autoryzacyjnych dla swojego konta. Tokeny następnie mogą otrzymać uprawnienia i zakresy do wykonania jakiś akcji.
Niestandardowe Eloquent Casts
Mimo iż Laravel posiada sporo wbudowanych funkcji do prezentacji albo zmiany danych pobranych bezpośrednio z bazy danych, to od wersji 7, mamy możliwość stworzenia własnych castów.
Możemy to osiągnąć tworząc nową klasę, która będzie posiadała interface CastsAttributes
.
Klasy które implementują ten interface, będą musiały posiadać metody get()
i set()
.
Methoda get() będzie odpowiadała za transformacje wartości z bazy danych do „castów”, natomiast metoda set() będzie transformowała „casty” w dane do zapisania w bazie danych.
Tagi komponentów Blade
Aby stworzyć komponent, możemy wykonać polecenie:
php artisan make:component Alert
Komenda tworzy plik widoku który znajduje się w resources/views/components
jak i również klasę w app/View/Components
.
Następnie w szablonach możemy uruchomić komponent:
<x-alert type="error" :message="$message"/>
Więcej informacji o komponentach Blade można znaleźć w oficjalnej dokumentacji: https://laravel.com/docs/7.x/blade#components
Niedługo pojawi się również poradnik jak ich używać na Larabox.pl.
Nowy klient HTTP
Laravel 7 teraz oferuje szybkie i proste API oparte o bibliotekę Guzzle aby można było w sprawny sposób wykonywać requesty HTTP do innych aplikacji.
Wydajny routing
Laravel 7 wprowadza nową metodę porównywania tras i zapisu ich do cache, dzięki temu duże aplikacje, które posiadają >800 tras, mogą odczuć dwukrotne przyspieszenie przy żądaniach na sekundę na prostej stronie „Witaj świecie”.
Laravel 7 będzie posiadał wsparcie do 3 marca 2021 roku.
Version | Release | Bug Fixes Until | Security Fixes Until |
---|---|---|---|
5.5 (LTS) | August 30th, 2017 | August 30th, 2019 | August 30th, 2020 |
5.6 | February 7th, 2018 | August 7th, 2018 | February 7th, 2019 |
5.7 | September 4th, 2018 | March 4th, 2019 | September 4th, 2019 |
5.8 | February 26th, 2019 | August 26th, 2019 | February 26th, 2020 |
6 (LTS) | September 3rd, 2019 | September 3rd, 2021 | September 3rd, 2022 |
7 | March 3rd, 2020 | September 3rd, 2020 | March 3rd, 2021 |
Szczegółowe informacje o wydaniu można znaleźć na oficjalnej stronie: https://laravel.com/docs/7.x/releases