Benutzerdefinierte Laravel-Hilfsfunktionen – Schnelle Tipps

Barbara Streisand
Freigeben: 2024-10-23 01:07:31
Original
338 Leute haben es durchsucht

Hilfsfunktionen erfreuen sich bei Laravel-Entwicklern großer Beliebtheit. Sie bieten Zugriff auf einige clevere Algorithmen, die Sie mit einer einzigen Anweisung in Ihrem Code verwenden können.

Die wohl bekannteste Hilfsfunktion ist url(), mit der Sie interne Anwendungs-URLs generieren können.

Ein weiterer toller Helfer ist die Funktion retry(), zum Beispiel: https://laravel.com/docs/11.x/helpers#method-retry

Einfache Möglichkeit, eine Anweisung eine bestimmte Anzahl von Malen zu wiederholen, wenn sie eine Ausnahme auslöst. Es wird normalerweise bei externen API-Aufrufen verwendet und wurde kürzlich als Methode in den Laravel-HTTP-Client integriert.

$response = Http::retry(3, 100)->post(/* ... */);
Nach dem Login kopieren

Mehr zum HTTP-Client im entsprechenden Artikel: https://inspector.dev/laravel-http-client-overview-and-monitoring/

Anwendungsfall für Laravel-Hilfsfunktionen

Manchmal möchten wir Aufgaben im Zusammenhang mit unserer Geschäftslogik automatisieren, und es könnte sehr praktisch sein, sie in eine Hilfsfunktion zu kapseln. Ich habe über die Implementierung von array_map für assoziative Arrays geschrieben, die perfekt für diesen Anwendungsfall geeignet ist.

Sie können den Artikel lesen, um den Zweck dieser Funktion zu erfahren. In diesem Zusammenhang möchte ich sie zu einer benutzerdefinierten Hilfsfunktion machen, die in Ihrer Laravel-Anwendung verwendet werden kann.

So registrieren Sie neue Laravel-Hilfsfunktionen

Erstellen Sie zunächst eine neue Datei helper.php im app/-Verzeichnis Ihres Laravel-Projekts.

Laravel custom helper functions – Fast Tips

Fügen Sie den folgenden Code ein, um die Funktion array_map_assoc in die Datei zu deklarieren:

if (!function_exists('array_map_assoc')) {
    /**
     * Apply a mapping callback receiving key and value as arguments.
     * The standard array_map doesn't pass the key to the callback. But in the case of associative arrays,
     * it could be really helpful.
     *
     * array_map_assoc(function ($key, $value) {
     *  ...
     * }, $items)
     *
     * @param callable $callback
     * @param array $array
     * @return array
     */
    function array_map_assoc(callable $callback, array $array): array
    {
        // map original array keys, and call $callable with $key and $value.
        return array_map(function($key) use ($callback, $array){
            return $callback($key, $array[$key]);
        }, array_keys($array));
    }
}
Nach dem Login kopieren

Wie Sie sehen können, wird die Funktionsdeklaration durch das if umschlossen, um die Registrierung von Funktionen mit demselben Namen zu vermeiden.

Binden Sie die Hilfsdatei über das automatische Laden von Composer ein

Laravel lädt benutzerdefinierte Hilfsdateien nicht automatisch, daher müssen Sie Composer manuell anweisen, die Datei während der automatischen Ladegenerierung einzuschließen.

Suchen Sie in der Datei „composer.json“ Ihres Laravel-Projekts den Abschnitt „autoload“ und fügen Sie das Schlüsselwort „files“ hinzu:

"autoload": {
    "psr-4": {
        "App\": "app/",
        "Database\Factories\": "database/factories/",
        "Database\Seeders\": "database/seeders/"
    },
    "files": [
        "app/helpers.php"
    ]
},
Nach dem Login kopieren

Führen Sie nach dem Hinzufügen der Datei „composer dump-autoload“ in Ihrem Terminal aus, um die Autoload-Dateien von Composer zu aktualisieren.

Verwenden Ihrer Laravel-Hilfsfunktion

Sobald die Hilfsdatei geladen ist, können Sie Ihre benutzerdefinierten Funktionen überall in Ihrer Laravel-Anwendung verwenden, genau wie jede andere PHP-Funktion.

$histogram = array_map_assoc(function ($key, $value) {
    return [
        'label' => $key,
        'value' => $value['doc_count']
    ];
}, $data);
Nach dem Login kopieren

Ich hoffe, es ist hilfreich, den Überblick über Ihre Codebasis zu behalten.

Für weitere technische Artikel können Sie mir auf Linkedin oder X folgen.

Überwachen Sie Ihre PHP-Anwendung kostenlos

Inspector ist ein Tool zur Codeausführungsüberwachung, das speziell für Softwareentwickler entwickelt wurde. Sie müssen nichts auf Serverebene installieren. Installieren Sie einfach das Paket Laravel oder Symfony und schon kann es losgehen.

Wenn Sie nach HTTP-Überwachung, Einblicken in Datenbankabfragen und der Möglichkeit suchen, Warnungen und Benachrichtigungen an Ihre bevorzugte Messaging-Umgebung weiterzuleiten, testen Sie Inspector kostenlos. Registrieren Sie Ihr Konto.

Oder erfahren Sie mehr auf der Website: https://inspector.dev

Laravel custom helper functions – Fast Tips

Das obige ist der detaillierte Inhalt vonBenutzerdefinierte Laravel-Hilfsfunktionen – Schnelle Tipps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!