ServiceManager
일 때 DI
은 무엇이고 사용 사례는 무엇입니까?Zend Di와 ServiceManager 종속성 주입 컨테이너
zend-di
및 zend-servicemanager
에 대한 구성 파일에서 우리는 aliases
및 invokables
과 같은 몇 가지 옵션을 설정할 수 있으므로 비슷한 것으로 보입니다.
나는이 구성 요소로 어떤 일이 일어나고 있는지 잘 이해하려고 노력하고 있으며, 문서화로 충분한 정보를 얻지 못했습니다.
ServiceManager
대신 Di
을 사용해야하는 이유는 무엇입니까?
일반적으로 컨테이너에 대한 좋은 토론에있다가 http://www.php-fig.org/psr/psr-11/meta/ – Dennis
현대 조언은 "DI 또는 SM을 사용하지 말 것"인 것처럼 보이지만, 그들이 이미 프레임 워크의 일부가 아니라면. Zend는 팩토리 기반 서비스 관리자 (본질적으로 제한된 DI 컨테이너 임)를 사용합니다. 여기서 사용자는 모든 컨테이너를 자신의 클래스에 삽입하지 않고 *주의해야합니다. 그러나 컨테이너를 자신의 클래스 세트의 일부로 사용할 수 있습니다. 신청. 즉 Zend에서 프레임 워크 자체의 기능을 사용하여 종속성이 어떻게 연결되는지 사용자 정의 할 수 있습니다. 최근의 예제는 다음과 같습니다. https://docs.zendframework.com/tutorials/getting-started/database-and-models/ – Dennis