Heim  >  Artikel  >  PHP-Framework  >  So fügen Sie mit Laravel eine benutzerdefinierte Fassade und einen Dienstanbieter hinzu

So fügen Sie mit Laravel eine benutzerdefinierte Fassade und einen Dienstanbieter hinzu

little bottle
little bottlenach vorne
2019-04-29 10:35:253542Durchsuche

Wenn wir das Laravel-Framework von PHP für die Projektentwicklung verwenden, verwenden wir häufig die Fassade und den Dienstanbieter. Lassen Sie uns untersuchen, wie man schreibt Ihre eigene Fassade und Ihr eigener Dienstanbieter (der folgende Code basiert auf Laravel 5.2*).

1. Erstellen Sie eine benutzerdefinierte Klasse

Erstellen Sie eine utilsToolBar.php-Datei im App-Verzeichnis, die den von uns definierten Code enthält.

<?phpnamespace App\Utils;class ToolBar{
   public function get()
   {
       return &#39;Hello my facade&#39;;
   }}

2. Erstellen Sie einen Dienstanbieter

Führen Sie den Befehl im Stammverzeichnis des Projekts aus: php artisan make:provider ToolServiceProvider, um einen Dienstanbieter zu erstellen und was hinzuzufügen Wir haben gerade die geschriebene Werkzeugklasse im Container registriert.

<?phpnamespace App\Providers;use Illuminate\Support\ServiceProvider;use App\Utils\ToolBar;class ToolServiceProvider extends ServiceProvider{
   /**
    * Bootstrap the application services.
    *
    * @return void
    */
   public function boot()
   {
       //
   }

   /**
    * Register the application services.
    *
    * @return void
    */
   public function register()
   {
       $this->app->bind(&#39;tool&#39;,function(){
           return new ToolBar();
       });
   }}

3. Gruppenregistrierungsdienstanbieter

Registrieren Sie den Dienstanbieter, den wir gerade im Provider-Attribut in der Datei configapp.php hinzugefügt haben, also fügen Sie Folgendes hinzu:

App\Providers\ToolServiceProvider::class,

Erstellen Sie eine Fassadenklasse, AppFacadesTool.php, im App-Verzeichnis. Sie können diese unter erstellen Wille. Solange es bei der späteren Registrierung konsistent ist, ist es in Ordnung. Der Code lautet wie folgt:
<?phpnamespace App\Facades;use Illuminate\Support\Facades\Facade;class Tool extends Facade{
   protected static function getFacadeAccessor()
   {
       return &#39;tool&#39;;
   }}

5. Gruppenregistrierungsfassadenklasse

Fügen Sie den folgenden Code zum Aliases-Attribut von configapp.php hinzu:
&#39;Tool&#39; => App\Facades\Tool::class,

Führen Sie die oben genannten Schritte aus, wir können aufrufen, um zu testen, ob die erstellte Fassade und der Dienstanbieter gültig sind

Fügen Sie den folgenden Code in Routesconsole.php hinzu:

Artisan::command(&#39;testFacade&#39;,function(){
    dd(tool::get());});

Rufen Sie dann im Terminal im Projektstammverzeichnis auf Der folgende Befehl:

php artisan testFacade
Wenn „Hallo meine Fassade“ ausgegeben wird, bedeutet dies, dass die Registrierung erfolgreich war. Als nächstes können wir die benutzerdefinierte Fassade an einer beliebigen Stelle im Projekt verwenden.

Wenn wir das Laravel-Framework von PHP für die Projektentwicklung verwenden, verwenden wir häufig die Fassade und die Dienstanbieter, die mit dem Laravel-Framework geliefert werden. Lassen Sie uns das genauer untersuchen wie man unsere eigene Fassade und unseren eigenen Dienstanbieter schreibt (der folgende Code basiert auf Laravel 5.2*). Verwandte Tutorials:

Laravel-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo fügen Sie mit Laravel eine benutzerdefinierte Fassade und einen Dienstanbieter hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen