Sprawdź nowe, ekscytujące funkcje Laravela w wersji 5.8
Opublikowany: 2022-01-02Laravel, 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.
