>PHP 프레임워크 >YII >yii 의존성 주입의 용도는 무엇입니까?

yii 의존성 주입의 용도는 무엇입니까?

藏色散人
藏色散人원래의
2020-07-22 11:53:112989검색

yii 종속성 주입은 종속 클래스를 컨테이너에 넣고 이러한 클래스의 인스턴스를 구문 분석하는 것입니다. 목적은 클래스의 분리를 달성하는 것이며 "종속성 주입"도 구현 시 디자인 패턴을 구현하는 것입니다. 함수에서는 "역방향 및 역방향 종속성" 또는 "문맥상 종속성"에 주의를 기울입니다.

yii 의존성 주입의 용도는 무엇입니까?

yii 종속성 주입:

종속성이 있는 클래스를 컨테이너에 넣고 이러한 클래스의 인스턴스를 구문 분석하는 것이 종속성 주입입니다. 목적은 클래스 분리를 ​​달성하는 것입니다.

추천: "yii Tutorial"

소개:

"의존성 주입"을 시작하기 전에 먼저 디자인 패턴에 대해 이야기해 봅시다. 이 측면에서 시작하면 더 빨리 이해하는 데 도움이 될 것 같습니다.

처음 프로그래밍을 배울 때 우리는 "절차적" 프로그래밍을 배웠습니다. 예를 들어 특정 기능을 구현하려면 위에서 아래로 문장별로 구현했습니다. 기껏해야 몇 가지 공통 기능을 정리하고 몇 가지 공통 기능으로 취급했습니다. .패키지(함수). 그런 다음 "객체 지향"에 대해 배웠고, 이어서 "객체" 개념을 적용하여 더 나은 프로그램(다양한 디자인 패턴)을 설계하는 방법이었으며 "의존성 주입"도 디자인 패턴의 구현입니다. 이를 구현하면 기능을 구현할 때 "역방향 및 역방향 종속성" 또는 "문맥상 종속성"에 대한 우려가 해결됩니다. 이 문장은 이해하기 어려울 것 같으니 간단히 설명하겠습니다.

"전면 의존성"과 후면 의존성"을 이해하는 방법

예를 들어, BMW를 제조할 때 "BMW"와 "Porsche"를 각각 만들고 싶다면 다음 순서를 엄격히 준수해야 합니다(1과 2는 그렇지 않습니다). 고정된 순서로 있어야 함):

1. BMW 공장 찾기(필수 또는 포함)

2. BMW를 제조하기 전에 준비물을 준비합니다. (객체의 매개변수를 초기화합니다. 매개변수가 객체인 경우에도 가능합니다. 몇 가지 매개 변수를 준비해야 합니다...)

3. 1과 2가 완전히 준비되어야 "BMW"(new BaoMa($params1,$params2....))가 생성될 수 있습니다. 즉, 1과 2는 필수입니다. 3시 이전이어야 합니다.

"포르쉐"를 만드는데도 같은 과정이 필요합니다. 물론 다른 자동차를 만들 때도 이 과정을 거쳐야 합니다. 이것이 바로 "전면의존성"과 후면의존성"의 문제이다. 자동차를 구현하는 과정을 따로 정리해서 보편화할 수 있는 방법은 없을까? 즉, 구현 프로세스를 먼저 준비한 다음 "원재료"를 제공하십시오. 구현하려는 내용은 제공하는 "원재료"(종속성 주입)에 따라 다릅니다.

위 내용은 yii 의존성 주입의 용도는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.