Лучший способ получить объект запроса из форм Symfony?

Я использую Symfony и Doctrine для создания форм для своих CMS. В последнее время я настраивал их, задавая значения по умолчанию на основе определенных параметров URL.

Например, у меня есть две модели: PollQuestion и PollChoice . PollChoice имеет отношение к PollQuestion с помощью поля poll_question_id . Форма PollChoice имеет выпадающий список, в котором перечислены все доступные PollQuestion , к PollChoice может быть прикреплен PollChoice . У меня также есть два маршрута: pollchoices/new и poll/:poll_id/choice/new . Оба маршрута отображают PollChoiceForm , но, используя 2-й маршрут, вы автоматически увидите всплывающее окно PollQuestion, установленное на параметр :poll_id URL. Я делаю это, просто изменяя значение по умолчанию виджета выпадающего списка в классе PollChoiceForm , выбирая значение :poll_id из объекта запроса.

Мой вопрос двоякий:

1) Я в настоящее время sfContext::getInstance()->getRequest() объект запроса с помощью sfContext::getInstance()->getRequest() . Я знаю, что sfContext::getInstance() нахмурился, но я не смог найти другой способ его извлечения. Есть ли другой способ? Инъекция зависимостей кажется хорошим способом, но я не знаю, как это сделать, не делая много взлома (чего я бы хотел избежать).

2) Могу ли я полностью изменить неправильный способ изменения значений формы по умолчанию на основе параметров URL?

Solutions Collecting From Web of "Лучший способ получить объект запроса из форм Symfony?"