Laravelのサービスプロバイダについて調べたことを簡単にまとめます。
サービスプロバイダとは?
サービスプロバイダとはサービスをサービスコンテナに登録するためのもの。
サービスコンテナについてはLaravelのサービスコンテナについて調べたことを簡単にまとめてみたでざっくりまとめてます。
サービスプロバイダを使って、サービスコンテナにサービスを登録する手順
サービスプロバイダーの作成
php artisan make:provider SampleServiceProvider
実行するとapp\Providersの下にSampleServiceProvider.phpファイルが作成される。
中身は下記の通り。
class SampleServiceProvider extends ServiceProvider
{
public function register()
{
//
}
public function boot()
{
//
}
}
registerメソッドはサービスコンテナにサービスを登録するための記述をする。
bootメソッドはすべてのサービスプロバイダーが読み込まれたあとに実行したいコードを記述する。
registerメソッドに処理を追加
public function register()
{
app()->bind('testSample', function(){
return 'test';
});
//下記の記述でもOK。
$this->app->bind('testSample', function(){
return 'test';
});
}
config/app.phpへ追加
'providers' => [
App\Providers\SampleServiceProvider::class,
]
サービスを使う
$test = app()->make('testSample');
dd($test);