Heim > Backend-Entwicklung > PHP-Tutorial > Laravel Ein Sprung nach vorne in den Bereichen Tests, Modell-IDs und Autorisierung

Laravel Ein Sprung nach vorne in den Bereichen Tests, Modell-IDs und Autorisierung

Linda Hamilton
Freigeben: 2025-01-14 07:44:43
Original
610 Leute haben es durchsucht

Laravel  A Leap Forward in Testing, Model IDs, and Authorization

Laravel, das führende PHP-Webanwendungs-Framework, hat gerade Version 11.30 veröffentlicht, die voller aufregender neuer Funktionen und Verbesserungen ist, die die Entwicklerproduktivität und Codeflexibilität steigern. Lassen Sie uns die wichtigsten Updates erkunden.

Optimiertes Testen mit neuen Helfern: withDefer() und withoutDefer()

Laravel 11.30 stellt withDefer() und withoutDefer() vor, mit freundlicher Genehmigung von Tim MacDonald. Diese sind von unschätzbarem Wert, wenn Sie Code testen, der verzögerte Aufrufe verwendet, und ermöglichen Ihnen die selektive Deaktivierung der Verzögerung für eine präzise Assertionskontrolle.

Anschauliches Beispiel mit withoutDefer():

<code class="language-php">// This won't work correctly
User::create(/* ... */);
$this->assertAgainstSomeDeferredOutcome();

// This works as intended
$this->withoutDefer();
User::create(/* ... */);
$this->assertAgainstSomeDeferredOutcome();</code>
Nach dem Login kopieren

Diese verbesserte Kontrolle über verzögerte Vorgänge während des Tests führt zu zuverlässigeren und genaueren Testergebnissen.

Benutzerdefinierte eindeutige Zeichenfolgen-IDs mit dem HasUniqueStringIds Merkmal

Luke Kuzmishs Beitrag, das HasUniqueStringIds-Merkmal, ermöglicht es Entwicklern, benutzerdefinierte eindeutige String-IDs als Routenschlüssel zu verwenden, ohne resolveRouteBindingQuery() zu ändern. Dies erweitert die vorhandenen Merkmale HasUuids und HasUlid und bietet eine größere Flexibilität bei der ID-Generierung.

Implementieren benutzerdefinierter eindeutiger Zeichenfolgen-IDs:

<code class="language-php">trait HasTwrnsTrait
{
    use HasUniqueStringIds;

    public function newUniqueId()
    {
        return (string) Twrn::new();
    }

    protected function isValidKey($value): bool
    {
        return Twrn::isValid($value);
    }
}</code>
Nach dem Login kopieren

Diese Funktion ermöglicht hochgradig angepasste Modellkennungen und lässt sich gleichzeitig nahtlos in Standardpraktiken von Laravel integrieren.

Erweiterte Autorisierung mit direkter Enum-Unterstützung

Johan van Heldens Update des AuthorizesRequests-Merkmals akzeptiert jetzt direkt unterstützte Aufzählungen, was mit Laravels jüngster Einführung von Aufzählungen im gesamten Framework übereinstimmt.

Verwenden einer Aufzählung mit der authorize()-Methode:

<code class="language-php">enum DashboardPermission: string
{
    case VIEW = 'dashboard.view';
}

// Previously
public function index(): Response
{
    $this->authorize(DashboardPermission::VIEW->value);
    // ...
}

// Now
public function index(): Response
{
    $this->authorize(DashboardPermission::VIEW);
    // ...
}</code>
Nach dem Login kopieren

Diese Vereinfachung verbessert die Typsicherheit und Lesbarkeit im Autorisierungscode.

Weitere bedeutende Verbesserungen

Version 11.30 enthält außerdem:

  • Erweiterte Blade::directive Funktionalität mit einem $bind Parameter.
  • Es wurden trans_choice()Probleme mit Übersetzungsersetzungen behoben, die das Trennzeichen | enthielten.
  • Leistungsoptimierung mit exists() anstelle von count() in bestimmten Szenarien.
  • Unterstützung für benutzerdefinierte Postgres-Operatoren hinzugefügt.
  • Optionale Abmessungen für den Vektorspaltentyp eingeführt.
  • Verbesserte Fehlermeldungen für PostTooLargeException.
  • Ein Verstoß gegen die Integritätsbeschränkung bezüglich failed_jobs_uuid_unique wurde behoben.

Laravel 11.30 unterstreicht das Engagement des Frameworks für kontinuierliche Verbesserung und Entwicklererfahrung. Mit verfeinerten Tests, flexiblen Modell-IDs und optimierter Enum-basierter Autorisierung bietet diese Version Entwicklern leistungsstarke neue Tools für die Erstellung saubererer und effizienterer Codes. Laravel ist nach wie vor die erste Wahl für PHP-Entwickler, die robuste und funktionsreiche Webanwendungen erstellen.

Sind Sie bereit, Laravel zu nutzen, um Ihr Unternehmen voranzubringen? Kontaktieren Sie uns noch heute.

Das obige ist der detaillierte Inhalt vonLaravel Ein Sprung nach vorne in den Bereichen Tests, Modell-IDs und Autorisierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage