Sprawdź nowe, ekscytujące funkcje Laravela w wersji 5.8

Opublikowany: 2022-01-02

Laravel, wyróżniający się framework PHP stworzony przez Taylora Otwella w 2011 roku, jest najlepszym spośród wszystkich frameworków PHP. Jest dostępny, wydajny, solidny i tka niesamowite aplikacje.

Ten framework PHP ułatwia programistom implementację wzorca MVC, abstrahując od złożonych funkcjonalności. Aktualizacje są niezbędne i służą wyłącznie poprawie cyklu życia aplikacji.

Laravel wydaje aktualizację mniej więcej co 5-6 miesięcy, aw tym roku Laravel wydał wersję 5.8 (marzec 19) i nie jest dostępna do użytku. Możesz zatrudnić programistę Laravel, aby jak najszybciej wykonał zadanie.

Ciągłe ulepszanie poprzednich wersji przyniosło deweloperom kilka ekscytujących funkcji. Rzućmy okiem na niektóre z niesamowitych funkcji, które będzie oferować ta nowa wersja

  • Automatyczne rozwiązywanie zasad
  • Obsługa węgla 2.0
  • Ma- jedno do elokwentnych relacji
  • Ochrona i haszowanie tokenów
  • Pamięć podręczna TTL
  • Konfiguracja strefy czasowej harmonogramu
  • Rzemieślnik:: ulepszenia połączeń
  • Mock/spy Testowanie metod pomocniczych
  • Ulepszenia obsługi rzemieślników
  • Wymowna metoda wyższego rzędu
  • dotenv 3.0
  • Nowy błąd Obsługa szablonów

Automatyczne rozstrzyganie zasad:

Wcześniejsze wersje Laravela miały modele lub zasady w niekonwencjonalnych lokalizacjach i musiały być zarejestrowane w klasie AuthServiceProvider. W tej wersji modele i polityki będą przechowywane w konwencjonalnych lokalizacjach.

Nie musisz już ręcznie rejestrować zasad autoryzacji modelu. Ta nowa wersja automatycznie wykryje zasady zgodnie ze standardowymi konwencjami nazewnictwa Laravel.

Jeśli polisy, które chcesz zarejestrować, znajdują się w innej lokalizacji, zarejestruj oddzwonienie, używając

Gate::guessPolicyNamesUsing .

Możesz wywołać tę metodę z metody booth AuthServiceProvider w następujący sposób:

 użyj opcji Oświetl\Wsparcie\Fasady\Gate;
Gate::guessPolicyNamesUsing(function ($modelClass) {
// zwróć nazwę klasy polityki...
});

Wsparcie Carbon 2.0:

Dobra wiadomość dla programistów, teraz możesz sprawić, że Twoja aplikacja będzie domyślnie używać CarbonImmutable.

Ten pakiet rozszerza klasę daty i czasu PHP i sprawia, że ​​praca z datą i godziną jest bardzo łatwa. Wybór klasy zależy od użytkownika.

HasOneThrough Wymowny związek:

Ta nowa funkcja jest prawie podobna do tej oferowanej przez Railsy. Weźmy przykład. Załóżmy, że mamy trzy modele, model dostawcy, konta i historii konta. Mówiąc prościej, dostawca ma konto, a konto ma jedną historię konta.

We wcześniejszych wersjach, aby uzyskać historię konta, pisaliśmy: $supplier->account->accountHistory. Ale teraz, dzięki tej wymownej relacji, od razu napiszesz

 $historia = $dostawca->historia konta

w całym modelu kont.

 funkcja publiczna kontoHistoria()
{
Zwróć $this->hasOneThrough(AccountHistory::class, Account::class);
}

Haszowanie tokena strażnika:

Dzięki funkcji ochrony tokenów możesz teraz zapisywać tokeny API jako skróty SHA-256. Wcześniej token API był przechowywany jako tokeny zwykłego tekstu, co teraz zostało ulepszone. Zwiększyło to bezpieczeństwo i przechowywanie wygenerowanych tokenów.

TTL pamięci podręcznej:

Ustawienie buforowania z minut zostało teraz zmienione na sekundy. Ta poprawa ma na celu bardziej precyzyjną i szczegółową kontrolę czasu wygaśnięcia. Ta funkcja jest zgodna ze standardem biblioteki buforowania PSR-16.

Ponadto pamiętaj, aby zawsze aktualizować pamięć podręczną aplikacji do sekund.

 // Laravel 5.7 - Przechowuj przedmiot przez 5 minut...
Cache::put('foo', 'bar', 10);

// Laravel 5.8 - Przechowuj przedmiot przez 5 sekund...
Cache::put('foo', 'bar', 10);

Konfiguracja strefy czasowej harmonogramu:

Ta nowa wersja Laravela pozwala dostosować strefę czasową dla wymienionego zadania przy użyciu metody stref czasowych.

 $schedule->polecenie('uruchom')
->codziennie()
->o('15:00')
->strefa czasowa('Ameryka/Chicago');

We wcześniejszej wersji uważano to za kłopotliwe zadanie, ponieważ trzeba było to robić dla każdego zaplanowanego zadania. Ale dzięki temu wystarczy teraz zdefiniować metodę o nazwie ScheduleTimezone w pliku app/Console/Kernel.php.

Zmiany zostaną następnie dołączone do każdego harmonogramu na liście.

 /**
* Uzyskaj strefę czasową, która powinna być domyślnie używana w przypadku zaplanowanych wydarzeń.
*
* @return \DateTimeZone|string|null
*/
chroniony harmonogram funkcjiStrefa czasowa()
{
powrót „Ameryka/Chicago”;
}

Ulepszenia wezwania rzemieślników:

W nowej wersji możesz tworzyć polecenia Artisan za pomocą metody Artisan::call. Polecenia można teraz przekazywać jako tablicę w jednym ciągu, jak podano poniżej:

 Artisan::call('migrate:install --database=foo');

Ulepszenia obsługi rzemieślników:

Poprzednie wersje miały przypisany domyślny port w 8000, na którym aplikacja będzie działać. A jeśli na tym porcie działa jakieś inne polecenie, prawdopodobnie nie obsłuży nowego polecenia.

Nowa wersja będzie skanować port do 8009, umożliwiając programistom uruchamianie wielu aplikacji jednocześnie.

Metody pomocnicze testowania pozornego/szpiegowskiego:

Testy próbne tylko pomogą programiście w uczynieniu kodu bardziej przejrzystym i czytelnym. Modele i metody szpiegowskie są dodawane do bazowej klasy przypadków testowych Laravela. Ta metoda automatycznie powiąże klasę, która ma być fałszowana, z kontenerem.

 funkcja public testBasicTest()
{
$this->mock(TransactionService::class, function($mock){
$mock->shouldReceive('find')->once()->with(1)->andReturn(['id' => 1, 'name' => 'foo'])
});
}

Wyższy porządek lub gdzie elokwentna metoda:

W poprzednich wersjach, w wywołaniach zwrotnych zamknięcia definiowaliśmy zapytanie o zasięgu za pomocą „lub”. Dzięki wprowadzeniu metody „wyższego rzędu” orWhere można łatwo łączyć te zapytania zakresu kolektywnie bez używania domknięć. Na przykład:

 $users = App\User::emailVerified()->orWhere->active()->get();

dotenv 3.0:

Aby zarządzać nowym plikiem .env twojego projektu, Laravel 5.8 będzie obsługiwał nowy dotenv 3.0. Ten nowy dotenv 3.0 obsługuje ciągi wielowierszowe i białe znaki na końcu ciągów. Ta funkcja byłaby bardzo pomocna, gdy wielowierszowe klucze API są wymagane dla bezpieczeństwa.

Nowe szablony stron błędów:

Wprowadzane są nowe strony błędów o bardzo minimalistycznym wyglądzie, które są odpowiednie dla szerokiej gamy stron internetowych i aplikacji. Możliwe jest nawet dostosowanie stron błędów lub zaimportowanie wcześniej zaprojektowanej strony błędów.

Istnieje wiele firm deweloperskich Laravel zajmujących się tworzeniem aplikacji. Ta nowa wersja to skarbnica niektórych niesamowitych funkcji. W powyższej treści wymieniono niektóre z godnych uwagi ulepszeń i funkcji rozszerzonych w nowej wersji Laravel 5.8.

Niektóre funkcje można płynnie zintegrować ze stronami internetowymi, aby były bardziej funkcjonalne i przyjazne dla użytkownika.

Aby zaktualizować działającą aplikację do wersji Laravel 5.8 , możesz sprawdzić przewodnik aktualizacji i informacje o wydaniu na oficjalnej stronie.