Laravel 6.x – nowa wersja wydana

 wrz, 07 - 2019   PHP

Laravel 6Laravel jest jednym z najpopularniejszych framework-ów PHP. 3 września 2019 r. została wypuszczona jego 6 wersja, wprowadzająca kilka nowych usprawnień i poprawek.

 

 

 

 

 

Wersja 6.0 oznaczona jako LTS

Na początek warto wspomnieć, że szósta wersja Laravel-a jest oznaczona jako LTS czyli Long-Term Support. Oznacza to, że będzie wspierana przez następne 2 – 3 lata a ściślej mówiąc błędy będą poprawiane do 3 września 2021, natomiast poprawki dotyczące bezpieczeństwa będą wprowadzane do 3 września 2022. Ostatnią wersją oznaczoną jako LTS była 5.5, której wsparcie bezpieczeństwa jest planowane do 30 sierpnia 2020.

Poniższa tabelka przedstawia kolejne wersje frameworka Laravel wraz z datą wydania oraz datami wsparcia.

Framework Laravel - wersje i daty

 

 

Job Middleware

Została wprowadzona funkcjonalność Job Middleware, umożliwiająca automatyczne uruchamianie kodu przed i po uruchomieniu zadania w kolejce. Zasada działania i sposób użycia jest bardzo podobne jak przy wykorzystywaniu dobrze znanych Route Middleware.

W celu dodania middleware-u do zadania, należy utworzyć w klasie zadania metodę middleware(), która zwraca tablicę obiektów middleware-ów.

No i oczywiście należy napisać klasę zawierającą kod middleware dla zadania:

Istnieje również możliwość wskazania middleware-ów podczas dodawania zadań do kolejki:

 

 

Ulepszone odpowiedzi podczas autoryzacji użytkownika

Wprowadzona została metoda Gate::inspect, umożliwiająca odpowiedzi dla użytkownika podczas jego autoryzacji.

 

 

Lazy Collections

Dodatkowa funkcjonalność do kolekcji umożliwiająca łatwiejszą pracę z dużą ilością danych, bez obciążania pamięci. Została wprowadzona nowa metod cursor, dzięki której możemy pobierać np. modele z kolekcji jedna po drugiej a nie wszystkie na raz.

Zamiast pobrania wszystkich encji:

Możemy pobierać je jedna po drugiej:

 

 

Ulepszone wykonywanie podzapytań bazy danych

Zostało ulepszone dodawanie podzapytań w modelach Eloquent, ułatwiające wykonywanie bardziej skomplikowanych zapytań bazy danych. Najważniejszymi funkcjonalnościami jakie zostały dodane to możliwość pobierania danych z podzapytań oraz sortowania danych wg. podzapytań.

Więcej na ten temat można przeczytać tutaj: https://laravel-news.com/eloquent-subquery-enhancements

 

 

Przeniesienie niektórych funkcjonalności z framework-a do osobnych paczek Composer-a

Funkcje helper-ów str_… i array_… zostały usunięte z Laravel 6 i przeniesione do osobnej paczki Composer-a laravel/helpers.

Podobnie do osobnej paczki laravel/ui została przeniesiona funkcjonalność generowania struktury wybranego projektu front-end (np. Vue lub React).

 

 

Pozostałe zmiany

Niektóre inne wprowadzone zmiany to:

  • od nowej wersji Laravel-a popularna biblioteka Carbon 1.x, służąca do pracy z datami, przestaje być dalej wspierana na rzecz wersji 2.x.
  • zmiana domyślnego klienta Redis z predis na phpredis
  • umożliwienie zadeklarowania typu klucza głównego w modelu
  • usunięcie wsparcia dla niektórych silników wysyłania wiadomości e-mail – mandrill i sparkpost
  • zmiany niektórych metod Lang – Lang ::trans an Lang::get, Lang::transChoice na Lang::choice, zmiana metody Lang::getFromJson na Lang::get
  • zmiana z Input::get na Request::input
  • odświeżone zostało logo oraz zmieniona oficjalna strona laravel.com
  • i inne …

 

 

Wersjonowanie semantyczne

Na koniec warto zaznaczyć, że od tej wersji Laravel będzie rozwijany zgodnie z dobrze znanym standardem wersjonowania semantycznego (semantic versionong). Kolejne wersje oznaczane będą za pomocą 3 liczb oznaczających ważność zmian oraz kompatybilność z poprzednią wersją, tzn. MAJOR.MINOR.PATCH, gdzie:

  • MAJOR – zmiana znacząca, często niekompatybilną z poprzednimi wersjami
  • MINOR – drobne zmiany, dodanie dodatkowej funkcjonalności, kompatybilne z poprzednimi wersjami
  • PATCH – zazwyczaj poprawki i naprawa błędów

 

Zachęcam do zapoznania się z nową wersją Laravel-a. Więcej informacji można znaleźć w oficjalnej dokumentacji frameworka:

 


Przeczytaj równierz