>백엔드 개발 >PHP 튜토리얼 >yii2 Essay (7) 의존성 주입 - (1) 의존성 주입이란 무엇입니까?

yii2 Essay (7) 의존성 주입 - (1) 의존성 주입이란 무엇입니까?

黄舟
黄舟원래의
2017-01-17 10:32:331114검색

yii2를 배우기 전에는 이미 "의존성 주입"이라는 용어를 알고 이해하려고 노력했지만 항상 구름 속에 있었는지 실제 생활에서 사용할 기회가 없었기 때문에 이해하지 못했습니다. , 이번에는 yii2를 배워 소위 "고수준" 문제를 해결했습니다! ! ! ㅎㅎ

"의존성 주입"을 시작하기 전에 먼저 디자인 패턴에 대해 이야기해 볼까요? 이런 측면에서 시작하면 더 빨리 이해하는 데 도움이 될 것 같아요.

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

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

예를 들어 "BMW"와 "포르쉐"를 각각 만들고 싶다면 BMW를 제조할 때 다음 사항을 엄격히 준수해야 합니다. 다음 순서(1 , 2 는 고정된 순서일 수 없음):

1. BMW 공장 찾기(require 또는 include)

2. BMW 제조 전 준비물 준비(파라미터 초기화) 만약 매개변수가 객체라면, 매개변수도 준비해야 할 수도 있습니다. )

3. 1과 2가 완전히 준비된 후에만 "BMW"를 생성할 수 있습니다( $params1,$params2....)). 즉, 1과 2가 3 앞에 와야 합니다.

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

위는 yii2 에세이입니다. (7) 의존성 주입 - (1) 의존성 주입의 내용은 무엇인가요? 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


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