ホームページ > PHPフレームワーク > Laravel > laravelを使用してカスタムファサードとサービスプロバイダーを追加する方法

laravelを使用してカスタムファサードとサービスプロバイダーを追加する方法

little bottle
リリース: 2019-04-29 10:37:17
転載
3580 人が閲覧しました

PHP の laravel フレームワークをプロジェクト開発に使用する場合、ファサードとサービス プロバイダーをよく使用します。書き方を見てみましょう。独自のファサードとサービスプロバイダー (次のコードは laravel 5.2* に基づいています)。

1. カスタム クラスの作成

アプリ ディレクトリの下に utils\ToolBar.php ファイルを作成します。これは、定義したコードを含むツール クラスです。 。

<?phpnamespace App\Utils;class ToolBar{
   public function get()
   {
       return &#39;Hello my facade&#39;;
   }}
ログイン後にコピー

2. サービス プロバイダーを作成します

プロジェクトのルート ディレクトリでコマンド php 職人 make:provider ToolServiceProvider を実行して、サービス プロバイダーを作成し、何を追加しますかwe just 記述したツールクラスをコンテナに登録します。

<?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. グループ登録サービス プロバイダー

先ほど追加したサービス プロバイダーを config\app.php ファイルのプロバイダー属性に登録します。つまり、以下を追加します。

App\Providers\ToolServiceProvider::class,
ログイン後にコピー

4. ファサード クラスの作成

アプリ ディレクトリ App\Facades\Tool.php の下にファサード クラスを作成します。ここのディレクトリは私が作成したものです。これはあなたが望むものを何でも作ることができます。後で登録するときに一貫していれば問題ありません。コードは次のとおりです:

<?phpnamespace App\Facades;use Illuminate\Support\Facades\Facade;class Tool extends Facade{
   protected static function getFacadeAccessor()
   {
       return &#39;tool&#39;;
   }}
ログイン後にコピー

5. グループ登録ファサード クラス

次のコードを config\app.php の aliases 属性に追加します:

&#39;Tool&#39; => App\Facades\Tool::class,
ログイン後にコピー

上記の手順を完了したら、作成したファサードとサービス プロバイダーが有効かどうかをテストするために呼び出します。
routes\console.php に次のコードを追加します。

Artisan::command(&#39;testFacade&#39;,function(){
    dd(tool::get());});
ログイン後にコピー

次に、プロジェクトのルート ディレクトリで、次のコマンドを呼び出します:

php artisan testFacade
ログイン後にコピー

Hello my facade が出力された場合、登録が成功したことを意味します。次に、プロジェクト内の任意の場所でカスタム ファサードを使用できます。

PHP の laravel フレームワークをプロジェクト開発に使用する場合、laravel フレームワークに付属のファサードとサービス プロバイダーを使用することがよくあります。独自のファサードとサービスプロバイダーを記述する方法を検討します (次のコードは laravel 5.2* に基づいています)。

関連チュートリアル: laravel ビデオ チュートリアル

以上がlaravelを使用してカスタムファサードとサービスプロバイダーを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート