SlideShare a Scribd company logo
Laravel 8.0 - co nowego?
Marek Tenus
CTO
marek@highsolutions.pl
Laravel 8.0
● Data publikacji: 3 września 15:09 CEST
● Wydanie LTS (Long Term Support)
○ Błędy będą naprawiane do 8 marca 2021
○ Błędy bezpieczeństwa - wrzesień 2022
○ Ostatni LTS - Laravel 5.5
Czemu nie 5.9?
Czemu nie 5.9?
● Laravel przechodzi na Semantic Versioning
● Każdy major release będzie mógł zawierać breaking
change, podczas gdy minor i patch release nigdy.
● Ważne by stosować ograniczniki typu ^6.0.
Laravel Vapor
● Serverless deployment platform
● Dla Laravela 6.0+
● Działa tylko na AWS
● Więcej informacji: https://vapor.laravel.com/
● Cena: $39 / miesiąc
Ignition
● Nowa strona błędu
● Inteligentnie rozpoznaje kontekst
● Można ją rozszerzać o własne reguły
● Koniec z informacją że błąd jest w skompilowanym
Blade
● Link: https://flareapp.io/docs/ignition-for-laravel/introduction
Ignition
Authorization Fail Responses
● Do Laravela 5.8 nie można było łatwo przekazać
czemu odmawiamy autoryzacji do zasobu
● Teraz mamy prostą metodę $this->deny(‘REASON WHY’);
● I prosty sposób by to sprawdzić:
Jobs Middleware
● Od teraz można stworzyć Middleware dla zadań
kolejki dokładnie tak samo jak dla żądań HTTP
● Dodajemy jedynie metodę middleware do klasy Job:
Lazy Collections
● Eloquent i Collections są świetne, ale przy dużych
zbiorach danych, pożerają mnóstwo pamięci
● Lazy Collections udostępnia metodę cursor(), która
zwraca kursor na bazie danych zamiast wczytanych
modeli.
Eloquent Subqueries improvements
Dodanie wartości
z relacji modelu za
pomocą jednego
podzapytania
OrderBy na podsta-
wie wartości zwraca-
nej z podzapytania
Laravel UI
● Front-end Laravela został wydzielony do oddzielnej
paczki laravel/ui.
● make:auth już nie działa
● Instalacja:
Upgrade Guide
● Wymagana wersja minimum PHP 7.2
○ Obsługiwane już PHP 7.4
● By zaktualizować projekt wystarczy zaktualizować
plik composer.json - laravel/framework na ^6.0
High Impact Changes
● Kontrolery typu Resource używające metody
authorizeResource muszą posiadać metodę viewAny,
inaczej żądania do metody index będą odrzucane.
● Metody helper str_ i array_ zostały przeniesione do
paczki laravel/helpers.
○ Helpery IlluminateSupportStr i
IlluminateSupportArr nadal są normalnie
dostępne.
Popular Medium Impact Changes
● Carbon musi być zaktualizowany do wersji 2.0
● Zmiana nazw metod translacyjnych:
○ Lang::trans => Lang::get
○ Lang::transChoice => Lang::choice
● Powtórne wysłanie weryfikacyjnego maila jest teraz
realizowane przez żądanie POST, a nie GET
(email/resend)
Popular Medium Impact Changes
● Kolejka (queue:work) będzie teraz tylko raz domyślnie
próbować wykonać joba. By przywrócić w
nieskończoność wystarczy dodać --tries=0.
● Fasada Input została usunięta.
○ Input::get => Request::input
● Kilka driverów zniknęło:
○ Storage: Rackspace
○ Notifications: Nexmo
○ Mail: Mandrill, SparkPost
Podsumowanie
● Nowa wersja LTS, z supportem PHP 7.4
● Kilka dużych usprawnień jak Ignition, Lazy
Collections, Jobs Middleware, Subqueries
● Możliwość korzystania z Vapor
● Sporo Breaking Changes
Breaking Taylor
● Nowa wersja LTS, z supportem PHP 7.4
● Kilka dużych usprawnień jak Ignition, Lazy
Collections, Jobs Middleware, Subqueries
● Możliwość korzystania z Vapor
● Sporo Breaking Changes
Pytania?
marek@highsolutions.pl
@MarekTenus

More Related Content

PDF
Laravel Octane - czy na pewno taki szybki?
PDF
Laravel Dusk - prosty przepis na testy E2E
PDF
Jak stworzyliśmy system kudosów w Laravelu i Slacku
PDF
Laravel/PHP - zderzenie z PDFami
PDF
Przegląd najciekawszych wtyczek do Laravela
PDF
Laravel Poznań Meetup #12 - "Laravel 6.0 - co nowego?"
PDF
Automatyzacja utrzymania jakości w środowisku PHP
PDF
Swoole w PHP. Czy to ma sens?
Laravel Octane - czy na pewno taki szybki?
Laravel Dusk - prosty przepis na testy E2E
Jak stworzyliśmy system kudosów w Laravelu i Slacku
Laravel/PHP - zderzenie z PDFami
Przegląd najciekawszych wtyczek do Laravela
Laravel Poznań Meetup #12 - "Laravel 6.0 - co nowego?"
Automatyzacja utrzymania jakości w środowisku PHP
Swoole w PHP. Czy to ma sens?

What's hot (19)

PDF
Websockety w PHP
PDF
Jak migrować kod legacy do Symfony? Tips & tricks
PDF
Migrate API w Drupalu [PL]
PDF
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
PDF
Jak poprawić Core Web Vitals w aplikacji Next.js
PDF
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16
PDF
Wprowadzenie do testów wydajnościowych w k6
PDF
e2e frameworks - czyli kij ma dwa końce
PDF
PHP-PM. Hit czy kit?
PDF
Drupal jako modularny i rozszerzalny CMS [PL]
PDF
Uwierzytelnianie dwuetapowe (2FA) w Drupalu [PL]
PDF
Kubernetes (Canary) Deployments
PDF
Laravel czy Lumen, oto jest pytanie
PDF
Automatyzacja testow canopy
PDF
Szybkie stawianie aplikacji z Elastic Beanstalk
PDF
Co nowego w ASP.NET MVC 4?
PPTX
Laravel Poznań Meetup #4 - EloquentSequence - Historia pewnej biblioteki Open...
PPTX
EloquentSequence - historia pewnej biblioteki Open Source
Websockety w PHP
Jak migrować kod legacy do Symfony? Tips & tricks
Migrate API w Drupalu [PL]
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
Jak poprawić Core Web Vitals w aplikacji Next.js
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16
Wprowadzenie do testów wydajnościowych w k6
e2e frameworks - czyli kij ma dwa końce
PHP-PM. Hit czy kit?
Drupal jako modularny i rozszerzalny CMS [PL]
Uwierzytelnianie dwuetapowe (2FA) w Drupalu [PL]
Kubernetes (Canary) Deployments
Laravel czy Lumen, oto jest pytanie
Automatyzacja testow canopy
Szybkie stawianie aplikacji z Elastic Beanstalk
Co nowego w ASP.NET MVC 4?
Laravel Poznań Meetup #4 - EloquentSequence - Historia pewnej biblioteki Open...
EloquentSequence - historia pewnej biblioteki Open Source
Ad

More from Laravel Poland MeetUp (20)

PDF
WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...
PDF
xD bug - Jak debugować PHP-owe aplikacje (Xdebug)
PDF
Kilka slajdów o castowaniu atrybutów w Eloquent
PDF
Licencje otwartego oprogramowania
PDF
Jak przyspieszyłem aplikację produkcyjną o ponad 40%
PDF
Jak przemycić Shape Up do Scruma?
PDF
Cykl życia zapytania HTTP (pod maską)
PDF
Enumy w Laravelu - dlaczego warto stosować?
PDF
Laravelowe paczki do uwierzytelniania
PDF
Walidacja w Laravelu
PDF
(prawie) Wszystko o Tinkerze
PDF
Laravel Jobs i PHP8
PDF
Wszystko o Laravel Livewire
PDF
Action-based Laravel
PDF
Wstęp do Gitlab CI/CD w aplikacjach napisanych w Laravel
PDF
Laravel Collection - tablice na sterydach
PDF
AOP w Laravel
PDF
Speed up web API with Laravel and Swoole using Docker
PDF
Laravel 6.0 - co nowego?
PDF
Przetwarzanie Asynchroniczne i Promises w Laravel
WebRTC+Websockety - Jak stworzyłem aplikację do kamerek internetowych w Larav...
xD bug - Jak debugować PHP-owe aplikacje (Xdebug)
Kilka slajdów o castowaniu atrybutów w Eloquent
Licencje otwartego oprogramowania
Jak przyspieszyłem aplikację produkcyjną o ponad 40%
Jak przemycić Shape Up do Scruma?
Cykl życia zapytania HTTP (pod maską)
Enumy w Laravelu - dlaczego warto stosować?
Laravelowe paczki do uwierzytelniania
Walidacja w Laravelu
(prawie) Wszystko o Tinkerze
Laravel Jobs i PHP8
Wszystko o Laravel Livewire
Action-based Laravel
Wstęp do Gitlab CI/CD w aplikacjach napisanych w Laravel
Laravel Collection - tablice na sterydach
AOP w Laravel
Speed up web API with Laravel and Swoole using Docker
Laravel 6.0 - co nowego?
Przetwarzanie Asynchroniczne i Promises w Laravel
Ad

Laravel 8.0 - co nowego?

  • 1. Laravel 8.0 - co nowego?
  • 3. Laravel 8.0 ● Data publikacji: 3 września 15:09 CEST ● Wydanie LTS (Long Term Support) ○ Błędy będą naprawiane do 8 marca 2021 ○ Błędy bezpieczeństwa - wrzesień 2022 ○ Ostatni LTS - Laravel 5.5
  • 5. Czemu nie 5.9? ● Laravel przechodzi na Semantic Versioning ● Każdy major release będzie mógł zawierać breaking change, podczas gdy minor i patch release nigdy. ● Ważne by stosować ograniczniki typu ^6.0.
  • 6. Laravel Vapor ● Serverless deployment platform ● Dla Laravela 6.0+ ● Działa tylko na AWS ● Więcej informacji: https://vapor.laravel.com/ ● Cena: $39 / miesiąc
  • 7. Ignition ● Nowa strona błędu ● Inteligentnie rozpoznaje kontekst ● Można ją rozszerzać o własne reguły ● Koniec z informacją że błąd jest w skompilowanym Blade ● Link: https://flareapp.io/docs/ignition-for-laravel/introduction
  • 9. Authorization Fail Responses ● Do Laravela 5.8 nie można było łatwo przekazać czemu odmawiamy autoryzacji do zasobu ● Teraz mamy prostą metodę $this->deny(‘REASON WHY’); ● I prosty sposób by to sprawdzić:
  • 10. Jobs Middleware ● Od teraz można stworzyć Middleware dla zadań kolejki dokładnie tak samo jak dla żądań HTTP ● Dodajemy jedynie metodę middleware do klasy Job:
  • 11. Lazy Collections ● Eloquent i Collections są świetne, ale przy dużych zbiorach danych, pożerają mnóstwo pamięci ● Lazy Collections udostępnia metodę cursor(), która zwraca kursor na bazie danych zamiast wczytanych modeli.
  • 12. Eloquent Subqueries improvements Dodanie wartości z relacji modelu za pomocą jednego podzapytania OrderBy na podsta- wie wartości zwraca- nej z podzapytania
  • 13. Laravel UI ● Front-end Laravela został wydzielony do oddzielnej paczki laravel/ui. ● make:auth już nie działa ● Instalacja:
  • 14. Upgrade Guide ● Wymagana wersja minimum PHP 7.2 ○ Obsługiwane już PHP 7.4 ● By zaktualizować projekt wystarczy zaktualizować plik composer.json - laravel/framework na ^6.0
  • 15. High Impact Changes ● Kontrolery typu Resource używające metody authorizeResource muszą posiadać metodę viewAny, inaczej żądania do metody index będą odrzucane. ● Metody helper str_ i array_ zostały przeniesione do paczki laravel/helpers. ○ Helpery IlluminateSupportStr i IlluminateSupportArr nadal są normalnie dostępne.
  • 16. Popular Medium Impact Changes ● Carbon musi być zaktualizowany do wersji 2.0 ● Zmiana nazw metod translacyjnych: ○ Lang::trans => Lang::get ○ Lang::transChoice => Lang::choice ● Powtórne wysłanie weryfikacyjnego maila jest teraz realizowane przez żądanie POST, a nie GET (email/resend)
  • 17. Popular Medium Impact Changes ● Kolejka (queue:work) będzie teraz tylko raz domyślnie próbować wykonać joba. By przywrócić w nieskończoność wystarczy dodać --tries=0. ● Fasada Input została usunięta. ○ Input::get => Request::input ● Kilka driverów zniknęło: ○ Storage: Rackspace ○ Notifications: Nexmo ○ Mail: Mandrill, SparkPost
  • 18. Podsumowanie ● Nowa wersja LTS, z supportem PHP 7.4 ● Kilka dużych usprawnień jak Ignition, Lazy Collections, Jobs Middleware, Subqueries ● Możliwość korzystania z Vapor ● Sporo Breaking Changes
  • 19. Breaking Taylor ● Nowa wersja LTS, z supportem PHP 7.4 ● Kilka dużych usprawnień jak Ignition, Lazy Collections, Jobs Middleware, Subqueries ● Możliwość korzystania z Vapor ● Sporo Breaking Changes