Эрик Филлер: на самом деле там нечего скринить тоже самое что и на винде, как вариант можно в окошечке запустить тогда увидишь чуть чуть рабочего стола, в любом случае могу сделать как с работы приду, а то тут мак.
Кирилл Несмеянов: Уважаемый, я устал уже объяснять в чем вся загвоздка DI и почему вы понимаете под ним нечто иное, передача аргументов в сервис не задача DI контейнера, его основная задача внедрение зависимостей от других компонентов/сервисов системы, вам лучше всего стоит ознакомиться с литературой (возможно, я что то не так объясняю), хорошая статья про DI, есть тут www.martinfowler.com/articles/injection.html от не безызвестного автора М. Фаулера, прочтите разъяснения автора который стоял у истоков, лучше него, я вряд ли смогу вам объяснить.
Кирилл Несмеянов: В методы сервиса передаются параметры необходимы для работы, а не зависимости. В классическом понимании паттерна существует 3 способа внедрения зависимостей:
- Конструктор
- Свойства
- Методы
Все эти три способа присутствуют в DI Symfony2, поэтому и не имеет отношения к DI.
cold147: Да все верно, так делают, но это не имеет ни какого отношения к DI, стоит четко понимать грань между зависимостями и аргументами методов, так же стоить знать, что весь этот сахар весьма негативно сказывается на производительности. В случае, если вы хотите делать аналогичным образом, то вы должны реализовать свой ArgumentResolver который будет позволять вам резолвить аргументы так как вы захотите, тот что есть для контроллеров ControllerResolver вам не подойдет.
Кирилл Несмеянов: Во время выполнения вы не должны передавать зависимости, данные вопросы решаются на этапе создания/инициализации сервиса, но ни как не во время выполнения. В случае, если у вас возникает необходимость передавать зависимости во время выполнения, то вам явно следует пересмотреть дизайн вашего сервиса.
Кирилл Несмеянов: Вопрос прочитал, именно поэтому и написал. Из за того, что вы хотите зависимости передавать в метод сервиса, я вам и дал вам такой ответ, т.к. такой подход приведет к невозможности в будущем в случае необходимости переопределить поведение без глобального переопределения сервисов которые могут быть использованы в качестве зависимостей в других компонентах системы.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.