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*).
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 'Hello my facade'; }}
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('tool',function(){ return new ToolBar(); }); }}
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,
<?phpnamespace App\Facades;use Illuminate\Support\Facades\Facade;class Tool extends Facade{ protected static function getFacadeAccessor() { return 'tool'; }}
5. Gruppenregistrierungsfassadenklasse
'Tool' => App\Facades\Tool::class,
Fügen Sie den folgenden Code in Routesconsole.php hinzu:
Artisan::command('testFacade',function(){ dd(tool::get());});
Rufen Sie dann im Terminal im Projektstammverzeichnis auf Der folgende Befehl:
php artisan testFacade
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!