В настоящее время я реорганизую свою библиотеку PHP на основе Zend Framework с использования локатора служб для (конструктора) внедрения зависимостей (DI).Я чувствую, что это значительно улучшает мой код, но я не уверен, должен ли я внедрять все зависимости.Локатор службы кажется более простым для зависимостей, которые часто используются и не являются специфичными.У меня есть следующие зависимости, к которым я все еще обращаюсь с помощью локатора службы:
- Объект Zend_Translate (мне нужно переводить сообщения везде).
- Объект Zend_Locale (сохраняет текущий язык)
- Объект Zend_Config (многое можно настроить с помощью ini-файла)
- Экземпляры служебных классов (для манипулирования массивами и строками)
Если я ввелэти зависимости, они загромождают мои конструкторы и отвлекают от конкретных зависимостей.Для тестирования я могу просто установить эти зависимости в своем сервисном локаторе перед запуском тестов.Прагматик во мне говорит, что у меня все хорошо, но пурист говорит, что я должен пройти весь путь с DI.
Вы бы порекомендовали DI для этих типов объектов или нет?