基本の部分(Laravel)

【Laravel初心者向け】ファサードについて徹底解説

ファサードとは

ファサードは、クラスメソッド形式でフレームワークの機能を簡単に利用できるもので、Laravelを代表する機能の1つとなります。

ファサードも裏側では、サービスコンテナの機能が使用されています。

ファサードの仕組み

Requestファサードの例

ファサードは「Request::」の部分になります。

config\app.phpの中にあるaliasesキーを確認するとデフォルトで実装されているファサードを確認することができるので、興味がある方は確認しておきましょう。

仕組み

1.Config::get(‘app.debug’がコールされる。)

2.Configの実態であるIlluminate\Support\Facades\Configクラスのgetメソッドが呼び出す。

3.Illuminate\Support\Facades\Configクラスには、getメソッドがないため、スーパークラスの__callStaticメソッドを呼び出す。

4.__callStaticメソッドでは、getFacadeRootメソッドで操作対象のインスタンスを取得し、getメソッドを実行する。

用意されているファサード

Laravelは標準で40弱のファサードが用意されております。

その中から特に使用頻度の高いファサードは下記となります。

Facade 使い方
Route ルーティングの際に使用。
Request $_REQUEST周りの処理。POSTやGET送信の受け取り時に使用。
Config Config/app.phpの値を取得する。
DB DBを操作する際にクエリビルダを提供。
Log ログの書き出しなど。

独自にファサードを作成する方法

自分の手作りクラスを作成して、ファサードを使用することも可能です。その場合は下記2つの作業が必要になります。

サービスプロバイダを作成し、config\app.phpに登録

ファサードを作成しconfig\app.phpに登録

 

Facadeについてのまとめ

フレームワークの機能を手軽に利用することができるのが、ファサードの利点ですが、動作の裏では、フレームワークが肩代わりしていることを認識しておきましょう。

これからLaravelを始めるならこれが最適!!


今までLaravelに関しての良書はほとんどなく、あっても内容が古かったり分かりにくいのばかりで、先駆者達は苦労したのではないでしょうか?

そんな中で発売されたこの本は、現在の日本国内にて唯一のLaravelの良書と言い切っても良いかと思います。PHP中級者以上なら苦労することなく読めるでしょう。Laravelは高機能ゆえ、全機能を説明してはいませんが、この本をとっかかりにすれば自ずとLaravelをマスターすることができると思います。