Schauen Sie sich die aufregenden neuen Funktionen von Laravel 5.8 an

Veröffentlicht: 2022-01-02

Laravel, ein herausragendes PHP-Framework, das 2011 von Taylor Otwell erstellt wurde, ist das beste unter allen PHP-Frameworks. Es ist zugänglich, leistungsstark, robust und webt einige erstaunliche Anwendungen.

Dieses PHP-Framework erleichtert Entwicklern die Implementierung von MVC-Mustern, die die komplexen Funktionalitäten abstrahieren. Updates sind zwingend erforderlich und dienen nur der Verbesserung des Anwendungslebenszyklus.

Laravel veröffentlicht ungefähr alle 5-6 Monate ein Update und auch dieses Jahr hat Laravel die Version 5.8 (März'19) veröffentlicht und steht nicht zur Verfügung. Sie können einen Laravel-Entwickler einstellen, um die Aufgabe frühestens zu erledigen.

Die kontinuierliche Verbesserung gegenüber den vorherigen Versionen hat den Entwicklern einige der aufregenden Funktionen gebracht. Werfen wir einen Blick auf einige der erstaunlichen Funktionen, die diese neue Version bieten wird

  • Automatisierte Richtlinienauflösung
  • Carbon 2.0-Unterstützung
  • Hat - Eins durch Eloquent-Beziehungen
  • Token Guarding und Hashing
  • Cache-TTL
  • Konfiguration der Scheduler-Zeitzone
  • Handwerker:: Verbesserungen aufrufen
  • Mock/Spy Testen von Hilfsmethoden
  • Verbesserungen beim handwerklichen Aufschlag
  • Eloquente Methode höherer Ordnung
  • dotenv 3.0
  • Neue Vorlagen zur Fehlerbehandlung

Automatisierte Richtlinienauflösung:

Frühere Laravel-Versionen hatten Modelle oder Richtlinien an nicht-konventionellen Orten und mussten in der AuthServiceProvider-Klasse registriert werden. In dieser Version werden die Modelle und die Richtlinien an herkömmlichen Orten gespeichert.

Sie müssen die Autorisierungsrichtlinie des Modells nicht mehr manuell registrieren. Diese neue Version erkennt automatisch Richtlinien, indem sie den standardmäßigen Laravel-Namenskonventionen folgt.

Wenn sich die Richtlinien, die Sie registrieren möchten, an einem anderen Ort befinden, registrieren Sie einen Rückruf mit

Gate::guessPolicyNamesUsing .

Sie können diese Methode aus der Booth-Methode von AuthServiceProvider folgendermaßen aufrufen:

 verwenden Sie Illuminate\Support\Facades\Gate;
Gate::guessPolicyNamesUsing(function ($modelClass) {
// den Klassennamen der Richtlinie zurückgeben...
});

Carbon 2.0-Unterstützung:

Gute Nachrichten für die Entwickler, jetzt können Sie Ihre Anwendung CarbonImmutable als Standard verwenden.

Dieses Paket erweitert die Date and Time-Klasse von PHP und macht die Arbeit mit Datum und Uhrzeit sehr einfach. Die Auswahl der Klasse hängt vom Benutzer ab.

HasOneThrough Eloquent-Beziehung:

Dieses neue Feature ähnelt fast dem von Rails. Nehmen wir ein Beispiel: Nehmen wir an, wir haben drei Modelle, Lieferanten-, Konto- und Kontoverlaufsmodell. In einfachen Worten, ein Lieferant hat ein Konto und ein Konto hat eine Kontohistorie.

In früheren Versionen, um den Kontoverlauf abzurufen, den wir früher geschrieben haben: $supplier->account->accountHistory. Aber jetzt, durch diese beredte Beziehung, wirst du sofort schreiben

 $history = $supplier->accountHistory

im gesamten Kontomodell.

 öffentliche Funktion accountHistory()
{
Geben Sie $this->hasOneThrough(AccountHistory::class, Account::class);
}

Token-Guard-Token-Hashing:

Mit der Token Guard-Funktion können Sie die API-Token jetzt als SHA-256-Hashes speichern. Früher wurde der Token der API als Klartext-Token gespeichert, was jetzt verbessert wurde. Dies hat die Sicherheit und die Speicherung der generierten Token verbessert.

Cache-TTL:

Die Caching-Einstellung von Minuten hat sich jetzt auf Sekunden geändert. Diese Verbesserung dient einer genaueren und granulareren Kontrolle der Ablaufzeit. Die Funktion entspricht dem Caching-Bibliotheksstandard PSR-16.

Denken Sie außerdem daran, Ihr Anwendungscaching immer auf Sekunden zu aktualisieren.

 // Laravel 5.7 - Artikel für 5 Minuten lagern...
Cache::put('foo', 'bar', 10);

// Laravel 5.8 - Artikel für 5 Sekunden lagern...
Cache::put('foo', 'bar', 10);

Konfiguration der Scheduler-Zeitzone:

Mit dieser neuen Version von Laravel können Sie die Zeitzone für eine aufgeführte Aufgabe mithilfe der Zeitzonenmethode anpassen.

 $schedule->command('run')
-> täglich()
->um('15:00')
->Zeitzone('Amerika/Chicago');

Dies wurde in der früheren Version als lästige Aufgabe angesehen, da Sie dies für jede geplante Aufgabe tun mussten. Damit müssen Sie aber erst jetzt eine Methode namens ScheduleTimezone in der Datei app/Console/Kernel.php definieren.

Die Änderungen werden dann an jeden Scheduler in der Liste angehängt.

 /**
* Rufen Sie die Zeitzone ab, die standardmäßig für geplante Ereignisse verwendet werden soll.
*
* @return \DateTimeZone|string|null
*/
Geschützte Funktion scheduleTimezone()
{
Rückkehr 'Amerika/Chicago';
}

Verbesserungen beim Handwerkerruf:

Sie können den Artisan-Befehl mit der Artisan::call-Methode in dieser neuen Version ausführen. Die Befehle können jetzt als Array in einer einzelnen Zeichenfolge wie unten angegeben übergeben werden:

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

Verbesserungen des handwerklichen Aufschlags:

In den vorherigen Versionen war der Standardport 8000 zugewiesen, auf dem die Anwendung ausgeführt wird. Und wenn ein anderer Befehl auf diesem Port ausgeführt wird, wird er wahrscheinlich den neuen Befehl nicht bedienen.

Die neue Version scannt den Port bis 8009, sodass die Entwickler mehrere Anwendungen gleichzeitig ausführen können.

Mock/Spy Testing-Hilfsmethoden:

Scheintests helfen dem Entwickler nur dabei, den Code sauberer und lesbarer zu machen. Die Mock- und die Spionage-Methode werden der Basisklasse für Laravel-Testfälle hinzugefügt. Diese Methode bindet die zu verspottende Klasse automatisch an den Container.

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

Höhere Ordnung oder eloquente Methode:

In den vorherigen Versionen haben wir die bereichsbezogene Abfrage mit "oder" in Closure-Callbacks definiert. Mit der Einführung einer orWhere-Methode „höherer Ordnung“ können Sie diese Scope-Abfragen problemlos kollektiv verketten, ohne Closures zu verwenden. Beispielsweise:

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

dotenv 3.0:

Um die neue .env-Datei Ihres Projekts zu verwalten, unterstützt Laravel 5.8 das neue dotenv 3.0. Dieses neue dotenv 3.0 unterstützt mehrzeilige Zeichenfolgen und Leerzeichen am Ende von Zeichenfolgen. Diese Funktion wäre eine große Hilfe, wenn aus Sicherheitsgründen mehrzeilige API-Schlüssel erforderlich sind.

Neue Fehlerseitenvorlagen:

Es werden neue Fehlerseiten mit sehr minimalistischem Design eingeführt, die für eine Vielzahl von Websites und Apps geeignet sind. Es ist sogar möglich, die Fehlerseiten anzupassen oder die zuvor gestaltete Fehlerseite zu importieren.

Es gibt viele Laravel-Entwicklungsunternehmen für die Anwendungsentwicklung. Diese neue Version ist eine Fundgrube für einige der erstaunlichen Funktionen. Der obige Inhalt hat einige der bemerkenswerten Verbesserungen und Funktionen aufgelistet, die in der neuen Version von Laravel 5.8 erweitert wurden.

Einige der Funktionen können problemlos in die Websites integriert werden, um diese funktionaler und benutzerfreundlicher zu gestalten.

Um Ihre laufende Anwendung auf Laravel Version 5.8 zu aktualisieren, können Sie die Upgrade-Anleitung und die Versionshinweise auf der offiziellen Website lesen.