이 기사는 Symfony2 번들 구성과 의존성 주입 컨테이너와의 상호 작용을 탐구합니다. 이러한 개념은 신규 이민자, 특히 종속성 주입에 익숙하지 않은 개념에게는 어려울 수 있습니다. Symfony는 XML 및 PHP 배열을 지원하지만 Yaml을 사용합니다. 선택은 선호도에 달려 있습니다. 단일 "최고의"옵션이 없습니다. 주요 개념 :
Symfony Bundles :
플러그인과 유사하게, 번들은 기능 (블로그, 포럼 등)을 캡슐화합니다. 그들은 모듈성 및 코드 재사용을 촉진합니다. 그들은 사전 제작되거나 맞춤 제작 될 수 있습니다.번들 구성 : 는 기본 응용 프로그램 구성 파일 (더 간단하지만 휴대 성이 적음) 또는 전용 번들 구성 파일 (모듈 식 및 재사용 가능)에서 직접 구성 할 수 있습니다. 확장 클래스를 사용하는 시맨틱 구성은 복잡하고 분산 가능한 번들에게 가장 유연성을 제공합니다. 종속성 분사 컨테이너 :
서비스 라이프 사이클 및 종속성을 관리하여 더 깨끗하고 유지 관리 가능하며 테스트 가능한 코드를 만들어냅니다. 디버깅 : 서비스 등록 및 구성 문제를 해결하려면 및 와 같은 콘솔 명령을 사용하십시오. 클래스는 구성로드를 처리합니다. 에서 번들 관련 구성의 검증 및 처리를 위해 a BundleNameExtension.php
클래스 ( in)를 사용합니다. 그런 다음 확장자는 로더를 사용하여 번들 별 구성 (에서)을로드합니다 (예 : ). 여기에 정의 된 서비스는 기본 응용 프로그램 구성의 매개 변수를 사용할 수 있습니다. 이 접근법은 재사용 가능한 분포 가능한 번들을 만드는 데 특히 유용합니다. Configuration.php
구성 파일 구조 : DependencyInjection
app/config/
Resources/config/
YamlFileLoader
매개 변수 : 정적 값 (자격 증명, API 키, URL). 키에 따라 정의됩니다. 모범 사례는 서비스 클래스 이름을 더 나은 확장 성을위한 매개 변수로 정의하는 것입니다.
서비스 : 비즈니스 논리가 포함 된 클래스. 구성 파일에서 정의하면 종속성 주입을 활용합니다
예제
를 사용하여 구성을 테스트하고 디버깅합니다
컨트롤러에서 서비스 사용 :
간단한 서비스 :
parameters
종속성 주입 :
위 내용은 Symfony 번들 구성 및 서비스 컨테이너 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!