Laravel 5.7 | Lista Zmian oraz Nowości
Laravel 5.7 został oficjalnie wydany . Miało to miejsce dnia 04.09.2018. Co nowego? Ano niemało... !
Laravel 5.7
Aktualizacja ta uwzględnia szereg nowości, bugfixy oraz poprawki względem wersji 5.6. Kilka głównych ficzerów które wchodzą w skład nowej wersji to:
- Nowa lokalizacja katalogu resources
- Możliwość większej customizacji paginacji
- Poprawione wiadomości o błędach
- Ulepszona testowalność komend powłoki artisana
- Nowy server do dumpa
- Ulepszone generowanie adresów URL
Nowa lokalizacja katalogu resources
Katalog resources został można by rzec "spłaszczony". Pozbyto się tutaj katalogu assets który w poprzednich wersjach znajdował się właśnie w katalogu resources. Także pliki wcześniej będące w resources/assets teraz znajdują się w katalogu resources .
Możliwość większej customizacji paginacji
Laravel w wersji 5.7 posiada nową metodę która pozwala na dostosowanie ilości linków po każdej stronie paginatora (lewej i prawej).
User::paginate(10)->linksOnEachSide(5);
Bardzo fajny ficzer który daje większą - i prostą - kontrolę nad paginacją . I dzięki temu ficzerowi też można zaprzestać tworzyć specjalne widoki dla paginacji, jeśli jedyne czego potrzebuje to ten właśnie ficzer.
Poprawione wiadomości o błędach
Śledzenie błędów spowodowanych przez dynamiczne odwołania do modeli Eloquenta jest teraz o niebo prostrze, przejrzyste i bardziej oczywiste. I nie tylko, odnosi się to również do innych części frameworka.
Dla przykładu kiedy źle napiszesz nazwę metody w modelu Eloquenta... a potem dostajesz dziwną i niejasną wiadomość odnoszącą się do QueryBuildera... Teraz dostaniesz jasny komunikat o błędzie odnoszący się do nieistniejącej metody w konkretnym modelu .
Ulepszona testowalność komend powłoki artisana
Do frameworka dochodzi w tej wersji nowe API do testowania konsolowych komend artisana . Jest to fluent API które jest niesamowicie oczywiste i czytelne...
Przykład:
<?php
/**
* Test a console command.
*
* @return void
*/
public function test_console_command()
{
$this->artisan('laracon')
->expectsQuestion('What is your name?', 'Taylor Otwell')
->expectsQuestion('Which language do you program in?', 'PHP')
->expectsOutput('Your name is Taylor Otwell and you program in PHP.')
->assertExitCode(0);
}
Warto spojrzeć do pełnej dokumentacji tego ficzerka.
Nowy server do dumpa
Jest to pakiet do Laravela który jest opoką dla pakietu Var-Dump Servera z Symfony. Teraz zamiast mieszać odpowiedź z wyrzucanymi danymi mamy server który pozwoli zrzucić to wszystko do konsoli lub do pliku.
Kiedy serwer ten nie jest uruchomiony to wyrzucanie z wykorzystaniem takich komend jak dump() działa tak jak zawsze.
Wygląda to w ten sposób:
# Symfony Example >= Symfony 4.1
./bin/console server:dump
# Artisan example using the Laravel Dump Server package
php artisan dump-server
I od tej chwili mamy server który zbiera wyrzucane dane w konkretnych punktach. Zaletą jest również to, że nie ma już potrzeby używania polecenia die() .
Wynik działania w konsoli:
Jak wcześniej wspomniałem możemy również wyrzucać dane do HTMLa co jest świetną opcją.
php artisan dump-server --format=html > dump.html
Wyjście w pliku HTML jest aktualizowane przy odświeżaniu aplikacji. Wygląda to następująco:
Jak to działa? Symfony dostarcza dedykowany serwer do zbierania i wyrzucania danych poprzez DumpServer. Kiedy wyrzucasz dane w swojej aplikacji podczas gdy serwer działa, to wyrzucane dane są wysyłane do serwera który zajmuje się ich obsługą.
Ulepszone generowanie adresów URL
Apropo generowania adresów URL wprowadzona została nowa składnia. Ma ona różne określenia, np. "tuple notation" lub "callable array syntax".
Tak to wygląda:
<?php
$url = action([PostsController::class, 'index']);
Zyskujemy dzięki temu np. możliwość nawigacji bezpośrednio do kontrolera gdy używamy IDE . Super!
Gwarancja
Ta wersja Laravela jest można by rzec na gwarancji pod względem bugfixów i aktualizacji do lutego 2019 roku. A pod względem ładek odnośnie bezpieczeństwa do sierpnia 2019 roku. Najs .
Aktualizacja
W ramach przeprowadzenia aktualizacji laravela do wersji 5.7 zalecam zapoznać się z częścią dokumentacji dotyczącej upgradeu frameworka.
Podsumowanie
Świetna aktualizacja która wprowadza sporo nowości. Szczególnie w mojej opinii super są nowe wiadomości o błędach . A co ty sądzisz o wersji 5.7?
Kończąc
To by było wszystko w temacie nowej wersji Laravela w wersji 5.7 . Warto jednak zapoznać się z pełną i szczegółową listą zmian (dokumentacja).
A tymczasem dziękuję ci bardzo za lekturę tego artykułu i mam nadzieję że był dla ciebie jak najbardziej wartościowy .
Zapraszam cię również do innych lektury innych moich artykułów, szczególnie tych związanych z Laravelem. Takie jak:
Dobrego dnia !