2016年12月22日木曜日

Laravel5.3のファサード(Facades)

Laravel5.3のファサード(Facades)とは何? ということで、またお勉強です。なかなか先に進めません。
ファサードは、アプリケーションのサービスコンテナで使用可能なクラスに「静的」なインタフェースを提供します。 Laravelのファサードは、サービスコンテナ内の基底クラスに「静的プロキシ」として機能し、伝統的な静的メソッドよりも高いテスト容易性と柔軟性を維持しながら、簡潔で表現力豊かな構文の利点を提供します。
「何のこっちゃ?」となるわけですが、
ファサードは、よりシンプルで読みやすいインターフェースを提供するため、複雑なライブラリをラップするクラスです。
という説明を見つけました。

本来、こう書かなければならないところ、
App::make('some_service')->methodName();


ファサードのおかげで、スタティックなメソッドのように、こう書けるということだと思います(?)。
someService::methodName();

サンプルにあるCacheクラスは、設定ファイルで、エリアス登録されているから利用できるということなのでしょう(?)。

/config/app.php
'aliases' => [
  'Cache'=>Illuminate\Support\Facades\Cache::class,
]

参考サイト
Facades(Laravel)
ファサードとは(ララ帳さん)
What Are Laravel 5.0 Facades?(Envato Tuts+)
How Laravel Facades Work and How to Use Them Elsewhere(SitePoint)

0 件のコメント:

コメントを投稿