Heim > PHP-Framework > Laravel > Hauptteil

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

little bottle
Freigeben: 2019-04-29 10:37:17
nach vorne
3537 Leute haben es durchsucht

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;;
   }}
Nach dem Login kopieren

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();
       });
   }}
Nach dem Login kopieren

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,
Nach dem Login kopieren

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;;
   }}
Nach dem Login kopieren

5. Gruppenregistrierungsfassadenklasse

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

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());});
Nach dem Login kopieren

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

php artisan testFacade
Nach dem Login kopieren
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!

Verwandte Etiketten:
Quelle:csdn.net
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