【Laravel】Laravel5.7のヘルパーを一気に勉強(23) – app()




この記事は最終更新日から2年以上経過しています。

ヘルパーの勉強をしていて個別に調べたいと思って時間のあるときまで残していた9つの関数についてようやく調べる時間ができたので少しずつまとめていきたいと思います。
今回はapp()関数です。

app()関数はサービスコンテナをインスタンスを返す場合と、コンテナにより依存関係を解決するクラス名・インターフェイース名をパラメーターに指定できるということが簡単に書いてありますが結構重要なところなのでもう少し調べてみました。

「サービスコンテナ」とは何かですが、簡単に言うとインスタンスを生成してくれる機能という感じでしょうか。
app()関数を引数なしで実行するとサービスコンテナインスタンスが返ってくるので、そのインスタンスのmake()メソッドを利用して、make()に渡したパラメータで指定したクラスのインスタンスを取得することができます。

// Exampleクラスのインスタンスを取得
$app = app()->make('App\ExampleClass');

また、app()に取得したいインスタンスのクラス名を指定すると、そのインスタンスを取得することができます。

// Exampleクラスのインスタンスを取得
$app = app('App\ExampleClass');