Laravel 8.x – zmiany

 wrz, 09 - 2020   PHP

Laravel 8.x LogoKolejna wersja popularnego frameworka Laravel została wydana w dniu 8-go września 2020. Aplikacja oznaczona numerem 8 wprowadza szereg zmian i ulepszeń. Artykuł opisuje niektóre z nich oraz pokazuje przykłady użycia.

 

 

 

 

Przepisana fabryka modeli

W nowej wersji frameworka została przepisana funkcjonalność fabryki modeli. Funkcjonalność ta pozwala na szybkie wygenerowanie określonej ilości wpisów w bazie danych, które następnie mogą służyć do testów aplikacji. Do teraz zastosowanie fabryki modeli realizowane było za pomocą funkcji pomocniczej factory.

Powyższa funkcja tworzyła 50-ciu użytkowników i dla każdego z nich zapisywało posta w bazie danych.

Od wersji 8 fabryki modeli można definiować jako klasy, w której ustawiamy sposób generowania modeli.

Klasy fabryki modeli mają dostęp do instancji Faker, która pozwala na generowanie losowych danych dla testów. Następnie taką klasę można użyć wywołując statyczną metodę „facory” dla danego modelu.

Fabryka modeli posiada szereg przydatnych funkcjonalności. Do poznania wszystkich możliwości, zapraszam do zapoznania się z dokumentacją frameworka.

Grupowanie zadań kolejki

Funkcjonalność pozwala na łączenie zadań kolejki w „paczki”, a następnie ich uruchamianie i na końcu wywoływanie funkcji w przypadku niepowodzenia wykonania któregoś z zadań lub w przypadku poprawnego zakończenia działania.

 

Zmiana obejścia blokady aplikacji

W poprzednich wersjach, przy ustawianiu trybu maintetance mode, istniała możliwość dodania listy adresów IP, dla których aplikacja była wciąż dostępna. W nowej wersji, funkcjonalność ta została zastąpiona na rzecz tokenu, który ustawia się podczas włączenia trybu.

Po wpisaniu powyższej komendy, aplikacja nie będzie dostępna na zewnątrz. Dzięki wprowadzonemu tokenowi, istnieje jednak możliwość obejścia blokady poprzez wpisanie odpowiedniego adresu.

Po wejściu w taki URL, zostaniemy przekierowaniu do strony głównej, a w przeglądarce zostanie ustawione ciasteczko, dzięki któremu będziemy mieć w dalszym ciągu dostęp do aplikacji.

 

Możliwość przesunięcia aktualnego czasu w funkcjach testowych

Do metod testowych, wprowadzona została funkcja umożliwiająca tymczasowe przesuwanie czasu w przeszłość lub przyszłość.

 

Inne zmiany

  • Wprowadzono Laravel Jetstream, który jest nową wersją boilerplate-a dla autoryzacji użytkownika. Umożliwia szybkie ustawienie logowania użytkownika, rejestracji, weryfikacji e-mail, zarządzanie sesją użytkownika, autoryzacja API za pomocą biblioteki Laravel Sanctum, itp. Szablony zostały zaprojektowane przy użyciu frameworka Tailwind CSS.
  • Domyślnym katalogiem dla modeli Eloquent został zmieniony na app/Models.
  • Możliwość łączenia migracji za pomocą komendy Artisan schema:dump.
  • Polepszona funkcjonalność RateLimiter.
  • Możliwość definiowania event listener-ów opartych na funkcji Closure i inne ulepszenia dla tej funkcjonalności.
  • Dynamiczne komponenty dla systemu szablonów Blade.
  • Ulepszona komenda Artisan serve.

 

Zmian wprowadzonych w wersji 8 jest oczywiście znacznie więcej. Zapraszam do zapoznania się z nimi w oficjalnej dokumentacji Laravel-a.


Przeczytaj równierz