ホームページ >php教程 >PHP开发 >Laravelフレームワークのファサード

Laravelフレームワークのファサード

高洛峰
高洛峰オリジナル
2016-11-30 15:50:091452ブラウズ

ファサードは、アプリケーションのサービスコンテナで利用可能なクラスに「静的」インターフェースを提供します。

Laravel には多くのファサードが付属しており、知らず知らずのうちにそれらを使用している可能性もあります。

xpower の静的インターフェイス (ファサード)

前提条件 1: サービス コンテナーにバインドされたクラス (xpower) があります

前提条件 2: これをサービス プロバイダー クラス (以下のシングルトン メソッド) に登録しています

5. 次に、ファサード基本クラスを継承する xpower のファサードを作成します。 getFacadeAccessor メソッドを実装する必要があります。文字列が返されます。これは、実際にはサービス プロバイダーの登録済みバインディング シングルトン (シングルトン メソッド) の名前です。この名前は気軽に書くことができます。ここでは xpower

<?php 

namespace App\Facades; 

use Illuminate\Support\Facades\Facade; 

class XP extends Facade { 
  protected static function getFacadeAccessor() { 
    return &#39;xpower&#39;; 
  } 
}

6 です。次に、構成ファイル config/app.php にファサード カテゴリ名を登録する必要があります:

&#39;aliases&#39; => [ ...//其他门面类别名映射 &#39;XP&#39; => App\Facades\XP::class, ],

XP::activate を直接使用して xpower をアクティブ化できます。現時点ではスーパーパワー

AppFacadesXPの導入を使用してください。そうしないと見つかりません。

分析:

1.XP::activate は、まずコンテナに移動して XP インスタンス (既にコンテナに登録されている) を見つけ、xpower 文字列を返します

2.xpower 文字列もバインドされ、登録されていますコンテナにアクセスし、Xpower サービス インスタンスに戻ります

3。::activate は実際に基本クラス ファサードの __callstatic メソッドを呼び出し、それを ->show() の形式の呼び出しに変換します。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。