0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Laravelのサービスプロバイダについて

Posted at

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);

参考

Laravel サービスプロバイダーついに理解

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?