Wie Du sinnvoll Custom Helper in Laravel einbindest

aktualisiert am 26. Januar 2019, erstellt am 21. November 2016 von Dirk Helbert in Laravel
Laravel Custom Helper

Einleitung Laravel Custom Helper

Obwohl Laravel schon toll ist, kann man mit Custom Helper, Laravel noch einen Schritt weiter nach vorne bringen. Custom Helper sind kleine Methoden, die immer wieder in der ganzen Anwendung auftauchen. Und da wir uns ja dem DRY (Dont Repeat Yourself) verschrieben haben, nutzen wir diese kleinen Helfer um Code nicht unnötig zu duplizieren. Die Anregung dazu habe ich von laravel.io.

Die Vorgehensweise erkläre ich hier anhand einer Methode zum Transformieren eines Strings in einen Slug. Zum Beispiel um einen String in eine lesbare Url umzuwandeln.

Hol dir jetzt mein kostenloses E-Book
Geben Sie Ihre Email Adresse ein und klicken Sie auf den Knopf "Sofort Zugang erhalten".
Ich stimme zu, dass meine Daten beim Newsletter Provider Mailchimp gespeichert werden. ( Datenschutzerklärung und Datenschutz Mailchimp )
Mit der Anforderung des eBooks meldest du dich zu meinem kostenlosen E-Mail Newsletter mit relevanten Informationen zur Webentwicklung sowie meinen Büchern und Leistungen an.

Facade

Als nächstes kommt die Datei für die Facade dran /app/Facades/CommonHelperFacade.php

<?php
namespace App\Facades;

class CommonHelperFacade
{
    public static function slugMe($value)
    {
        return str_slug($value);
    }
}

Service Provider

Den Custom Helper registriere ich jetzt über einen Service Provider in /app/Providers/HelperServiceProvider.php

public function register() {
    $this->app->singleton('common', function ($app) {
        return new CommonHelper($app);
    });
}

Den Service Provider registriere ich jetzt in der /config/app.php im Abschnitt providers und den Helper im Abschnitt aliases

...
'providers' => [     
   ...
   App\Providers\HelperServiceProvider::class,
   ...
], 
'aliases' => [
    ...
    'Common' => App\Facades\CommonHelperFacade::class,
    ... 
], 
... 

Helper Class benutzen

In der View benutze ich den Helper dann über die Facade mit

{{ Common::slugMe('das ist ein einfacher test') }} 

Als Ausgabe in der View sollte das-ist-ein-einfacher-test herauskommen. Das ist in der Tat wirklich ein sehr einfacher Aufruf. Aber hier geht es auch nur darum aufzuzeigen was damit möglich ist.

Fazit

Ich hoffe dir mit diesem Beitrag weitergeholfen zu haben. Falls das der Fall ist, dann würde ich mich sehr über einen Kommentar freuen.

Geht es noch einfacher? Dann bin ich für jeden Tipp zu haben. Danke!

Laravel Version : 5.7.22
Letztes Update: 26. Januar 2019

3 Kommentare zu “Wie Du sinnvoll Custom Helper in Laravel einbindest”

  • Ist die Anleitung auch für Version 5.6 noch gültig? Weil ich bekomme diesen Fehler:

    Class ‚Common‘ not found (View: /srv/http/xxx/resources/views/includes/header.blade.php)

    Vielen Dank!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.