>백엔드 개발 >PHP 튜토리얼 >PHP의 종속성 주입에 대한 자세한 설명

PHP의 종속성 주입에 대한 자세한 설명

韦小宝
韦小宝원래의
2018-03-14 12:44:112732검색

이 기사는 PHP의 종속성 주입에 대해 설명합니다. PHP 종속성 주입에 대해 잘 모르지만 조금 관심이 있는 학생들은 더 이상 고민하지 않고 지금 바로 PHP에 대해 살펴보겠습니다.

종속성 주입

이해:

  1. 은 하드 코딩된 종속성을 분리하고 런타임이나 컴파일 타임에 수정할 수 있게 해주는 소프트웨어 디자인 패턴입니다.

  2. 간단히 말하면 종속성 주입은 생성자 주입, 함수 호출 또는 속성 설정을 통해 구성 요소 종속성을 제공합니다.

제어 반전

이해:

  • 시스템은 제어와 개체를 완전히 분리하여 "제어 반전"을 달성합니다. 종속성 주입의 경우 이는 시스템의 다른 곳에서 종속 개체를 제어하거나 인스턴스화하여 분리를 달성하는 것을 의미합니다.

  • 예를 들어 MVC 프레임워크는 일반적으로 다른 컨트롤러가 상속을 통해 해당 종속성을 얻을 수 있도록 슈퍼 클래스 또는 기본 Controller 클래스를 제공합니다. 메서드는 종속성을 완전히 제거할 수 있으며 종속성 주입에 속하지 않습니다.

종속성 반전

    이해:
  • 종속성 반전 지침은
객체 지향

디자인 지침 S.O.L.I.D의 "D"이며 "Rely on"을 옹호합니다. 구체성보다는 추상성" 간단히 말해서 종속성은 특정 구현이 아닌 인터페이스/규칙 또는

추상 클래스

여야 합니다.

단위 테스트

를 수행하기 전에 어댑터가 설계될 때까지 기다려야 합니다. 이제 종속성은 인터페이스/규칙이므로 동료가 계약을 기반으로 해당 어댑터를 구현할 것이라는 것을 알고 있으므로 쉽게 인터페이스 테스트를 모의할 수 있습니다.

    코드의 확장성이 향상됩니다. 1년 후 다른 데이터베이스로 마이그레이션하기로 결정했다면 해당 인터페이스를 구현하는 어댑터를 작성하고 주입하기만 하면 됩니다. 어댑터는 인터페이스의 규칙을 따르기 때문에 추가 리팩토링이 필요하지 않습니다.
  • 관련 권장 사항 : PHP 클래스 반사 구현의 종속성 주입 프로세스에 대한 설명 된 설명이 있습니다. 반사 메커니즘

위 내용은 PHP의 종속성 주입에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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