ホームページ > バックエンド開発 > PHPチュートリアル > Yii ソースコード解釈 - Service Locator (Service Locator)

Yii ソースコード解釈 - Service Locator (Service Locator)

WBOY
リリース: 2016-07-29 08:57:50
オリジナル
965 人が閲覧しました

SL は分離できるように設計されており、サービスベースおよびコンポーネントベースのアプリケーションに非常に適しています。

Service Locator は実行時リンカーとして機能し、クラスに変更を加えることなく、実行時にクラスによって選択されたサービスを動的に変更できます。

クラスは、実行時に必要なサービスを増加、減少、または置換することを目的としており、それによってある程度の最適化を達成できます。

サービスプロバイダーとサービスユーザーの完全な分離を実現し、フレームワーク全体での独立したテストとコードの再利用を促進します。 Yii の

基本機能

SL は、yiidiServiceLocator

<code>class ServiceLocator extends Component{
    // 用于缓存服务、组件等的实例
    private $_components = [];
    
    // 保存服务和组件的定义,通常为配置数组,可以用来创建具体的实例
    private $_definitions = [];
    
    // 重载了getter, 使得访问服务和组件与访问类的属性一样。
    // 保留了原来Component的getter所具有的功能
    public function __get($name){}
}</code>
ログイン後にコピー

データ構造によって実装されています

SL は、サービスとコンポーネントを登録するメソッドを提供します。

$_components は、SL 内のコンポーネントまたはサービスのインスタンスをキャッシュするために使用され、読み取りおよび書き込み可能な属性です。

参考

以上、Yii のソースコード - Service Locator (Service Locator) の解釈について、さまざまな側面を含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート