ServiceSubscriberInterface
интерфейс ServiceSubscriberInterface
ServiceSubscriber раскрывает свои зависимости через статический метод {@link getSubscribedServices}.
Метод getSubscribedServices возвращает массив типов сервисов, необходимых для таких экземпляров, необязательно с ключами, используемыми для имён сервисов во внутренней реализации. Типы сервисов, начинающиеся с вопросительного знака «?», являются необязательными, а остальные — обязательными зависимостями сервиса.
Введённые локализаторы сервисов НЕ ДОЛЖНЫ предоставлять доступ к каким-либо другим сервисам, не указанным в этом методе.
Ожидается, что экземпляры ServiceSubscriber будут использовать внутренне локализаторы сервисов на основе PSR-11. Этот интерфейс не предписывает какой-либо метод инъекции для этих локализаторов сервисов, хотя рекомендуется инъекция через конструктор.
Методы
| статический массив | getSubscribedServices() Возвращает массив типов сервисов, необходимых для таких экземпляров, необязательно с ключами, используемыми для имён сервисов во внутренней реализации. |
Детали
статический массив getSubscribedServices()
Возвращает массив типов сервисов, необходимых для таких экземпляров, необязательно с ключами, используемыми для имён сервисов во внутренней реализации.
Для обязательных зависимостей:
- array('logger' => 'Psr\Log\LoggerInterface') означает, что объекты используют имя "logger" для извлечения сервиса, который должен реализовывать Psr\Log\LoggerInterface.
- array('Psr\Log\LoggerInterface') — сокращение для
- array('Psr\Log\LoggerInterface' => 'Psr\Log\LoggerInterface')
в противном случае:
- array('logger' => '?Psr\Log\LoggerInterface') обозначает необязательную зависимость
- array('?Psr\Log\LoggerInterface') — сокращение для
- array('Psr\Log\LoggerInterface' => '?Psr\Log\LoggerInterface')
Значение возврата
| массив | Требуемые типы сервисов, необязательно с ключами по имени сервиса |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.3/Symfony/Component/DependencyInjection/ServiceSubscriberInterface.html