> 백엔드 개발 > PHP 튜토리얼 > Yii 소스코드 해석 - Service Locator(Service Locator)

Yii 소스코드 해석 - Service Locator(Service Locator)

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-07-29 08:57:50
원래의
971명이 탐색했습니다.

SL의 목적도 분리이며 서비스 및 구성 요소 기반 애플리케이션에 매우 적합합니다.

서비스 로케이터는 런타임 링커 역할을 하며 클래스를 수정하지 않고도 런타임 시 클래스에서 선택한 서비스를 동적으로 수정할 수 있습니다.

클래스는 사용해야 하는 서비스를 추가, 빼기, 교체하여 런타임에 타겟팅할 수 있으며 이를 통해 어느 정도 최적화를 달성할 수 있습니다.

서비스 제공자와 서비스 사용자를 완전히 분리하여 프레임워크 전체에서 독립적인 테스트와 코드 재사용을 촉진합니다.

기본 기능

Yii의 SL은 yiidiServiceLocator

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

데이터 구조

로 구현됩니다. SL은 서비스 및 구성 요소를 등록하는 방법을 제공합니다.

$_comComponents는 SL의 구성 요소 또는 서비스 인스턴스를 캐시하는 데 사용되며 읽기 및 쓰기가 가능한 속성입니다.

참고

이상은 Yii 소스코드 - Service Locator(Service Locator)의 해석을 다양한 측면을 포함하여 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿