参考
-
ファサードは、アプリケーションのサービスコンテナで使用可能なクラスに対して「静的な」インターフェイスを提供
-
サービスコンテナ内の基礎となるクラスへの静的プロキシとして機能する
-
従来の静的メソッドに加えてテスト容易性と柔軟性を維持しつつ簡潔で表現力豊か
-
Laravelのファサードはすべて、
Illuminate\Support\Facades
名前空間で定義use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Route; Route::get('/cache', function () { return Cache::get('key'); });
-
ヘルパ関数
- ファサードを補完するためにグローバルなヘルパ機能が提供される
-
view
,response
,url
,config
などが一般的
-
ファサードを利用する注意点
- ファサードの危険性
- スコープクリープ
- 1つのクラスで多くのファサードを利用するのは簡単だが
- クラスが大きくなりすぎる
- スコープクリープ
- クラスのサイズに注意して責任範囲が狭くなるようにすること
- ファサードの危険性