Devloger

Laravel 5.7 | Nowości oraz Zmiany

Laravel 5.7 | Lista Zmian oraz Nowości

Laravel 5.7 - logo / obrazek

Laravel 5.7 został oficjalnie wydany Emotikon uśmiechniętej buźki. Miało to miejsce dnia 04.09.2018. Co nowego? Ano niemało... Emotikon uśmiechniętej buźki!

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 Emotikon uśmiechniętej buźki.

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ą Emotikon uśmiechniętej buźki. 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.

Laravel 5.7 - poprawione komunikaty o błędach, wiadomości

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 Emotikon uśmiechniętej buźki.

Ulepszona testowalność komend powłoki artisana

Do frameworka dochodzi w tej wersji nowe API do testowania konsolowych komend artisana Emotikon uśmiechniętej buźki. 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() Emotikon uśmiechniętej buźki.

Wynik działania w konsoli:

Wynik działania Laravel Dump-Server 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:

Wynik w postaci HTML z Laravel Dump-Server

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 Emotikon uśmiechniętej buźki. 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 Emotikon uśmiechniętej buźki.

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 Emotikon uśmiechniętej buźki. 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 Emotikon uśmiechniętej buźki. 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 Emotikon uśmiechniętej buźki.

Zapraszam cię również do innych lektury innych moich artykułów, szczególnie tych związanych z Laravelem. Takie jak:

Dobrego dnia Emotikon uśmiechniętej buźki!

Krystian Bogucki

Podobał Ci się ten artykuł?

Jeśli tak, to zarejestruj się aby otrzymywać powiadomienia o nowych artykułach. Nie ujawnię nikomu Twojego adresu!

2 komentarzy... przeczytaj komentarze albo dodaj nowy komentarz


Tom

2018-09-15

"Nowa lokalizacja katalogu resources" - Te tasowanie katalogami w Larwie jest trochę irytujące, dlatego czasami preferuję CI, rozpakowuję i wiem co mam nie muszę szukać w dokumentacji, bo katalog zniknął, taki trochę syndrom frameworków/bibliotek js gdzie co chwila nowa wersja ;)

Devloger

2018-09-16

To prawda Tom :). Dodatkowo przez tego typu rzeczy w Laravelu aktualizacja trwa dużo... dużo dłużej niż w przypadku CI. Ale cóż :).