PHP の laravel フレームワークをプロジェクト開発に使用する場合、ファサードとサービス プロバイダーをよく使用します。書き方を見てみましょう。独自のファサードとサービスプロバイダー (次のコードは laravel 5.2* に基づいています)。
アプリ ディレクトリの下に utils\ToolBar.php ファイルを作成します。これは、定義したコードを含むツール クラスです。 。
<?phpnamespace App\Utils;class ToolBar{ public function get() { return 'Hello my facade'; }}
プロジェクトのルート ディレクトリでコマンド 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('tool',function(){ return new ToolBar(); }); }}
先ほど追加したサービス プロバイダーを config\app.php ファイルのプロバイダー属性に登録します。つまり、以下を追加します。
App\Providers\ToolServiceProvider::class,
アプリ ディレクトリ App\Facades\Tool.php の下にファサード クラスを作成します。ここのディレクトリは私が作成したものです。これはあなたが望むものを何でも作ることができます。後で登録するときに一貫していれば問題ありません。コードは次のとおりです:
<?phpnamespace App\Facades;use Illuminate\Support\Facades\Facade;class Tool extends Facade{ protected static function getFacadeAccessor() { return 'tool'; }}
次のコードを config\app.php の aliases 属性に追加します:
'Tool' => App\Facades\Tool::class,
上記の手順を完了したら、作成したファサードとサービス プロバイダーが有効かどうかをテストするために呼び出します。
routes\console.php に次のコードを追加します。
Artisan::command('testFacade',function(){ dd(tool::get());});
次に、プロジェクトのルート ディレクトリで、次のコマンドを呼び出します:
php artisan testFacade
Hello my facade が出力された場合、登録が成功したことを意味します。次に、プロジェクト内の任意の場所でカスタム ファサードを使用できます。
PHP の laravel フレームワークをプロジェクト開発に使用する場合、laravel フレームワークに付属のファサードとサービス プロバイダーを使用することがよくあります。独自のファサードとサービスプロバイダーを記述する方法を検討します (次のコードは laravel 5.2* に基づいています)。
関連チュートリアル: laravel ビデオ チュートリアル
以上がlaravelを使用してカスタムファサードとサービスプロバイダーを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。