2014-03-19 4 views
1

나는 Zend\Log\LoggerAbstractServiceFactory과 비슷한 내 자신의 추상 팩토리를 작성하려고합니다. 나는이 추상적 인 공장 works with plugin managers을 알아 차렸다. 그러나 나는 플러그인 관리자의 목적이 무엇인지에 대해 궁금해했다. Zend\Log 네임 스페이스에는 WriterPluginManagerProcessorPluginManager과 같은 여러 플러그인 관리자가 포함되어 있으며 Zend\Log\Writer 네임 스페이스에는 FormatterPluginManager 클래스가 포함되어 있습니다. 기본적으로 나는이 플러그인 관리자가하는 일에 대해 혼란 스럽다.Zend Framework 2의 플러그인 관리자

나는 등 컨트롤러 플러그인,보기 도우미, 몇 가지 플러그인 매니저가 있다는 것을 알고, 나는 플러그인 관리자가 전문 서비스 로케이터 때문에 Zend\ServiceManager\AbstractPluginManager 클래스 extendsZend\ServiceManager\ServiceManager입니다 것으로 나타났습니다.

제 질문은 : 플러그인 관리자의 목적은 무엇입니까? Zend\Log 네임 스페이스의 일반적인 예와 구체적인 예가 무엇입니까? 이것에 대한 문서를 찾을 수 없었습니다.

+2

[this] (http://samsonasik.wordpress.com/2014/01/29/zend-framework-2-getting-closer-with-pluginmanager/)는 나의 시작이었고 결코 되돌아 보지 않았습니다! –

답변

0

컨트롤러 플러그인을 관리하기 위해 pluginManager가 생성되었습니다. 컨트롤러 플러그인은 모든 요청에 ​​대해 실행됩니다. 예를 들어 권한 또는 로그를 확인하려면 컨트롤러 플러그인 또는 모든 작업이 모든 요청에 ​​대해 수행해야합니다.

2

플러그인 관리자는 특정 유형의 서비스를 반환하는 특수 서비스 관리자입니다. 그들은 실제로 서비스가 올바른 유형인지 확인하는 validatePlugin() 메소드를 정의합니다. 당신이 준 예제에서, WriterPluginManager은 로그 작성자를 반환하고 ProcessorPluginManager은 당연히 로그 프로세서를 반환합니다.

추상 팩토리가 올바른 인터페이스를 구현하는 클래스를 반환하는 한이 세부 사항에 대해 너무 걱정할 필요가 없습니다.

관련 문제