Melhor maneira de obter objetos de solicitação nos formulários do Symfony?

Uso o Symfony e o Doctrine para gerar formulários para meus CMSes. Ultimamente, os personalizo definindo valores padrão com base em parâmetros específicos de URL.

Por exemplo, eu tenho dois modelos:PollQuestion ePollChoice. PollChoice tem uma relação comPollQuestion por meio de umpoll_question_id campo. OPollChoice tem um menu suspenso que lista todos os @ disponívePollQuestions que oPollChoice pode ser anexado a. Eu também tenho duas rotas:pollchoices/new epoll/:poll_id/choice/new. Ambas as rotas exibem oPollChoiceForm, mas usando a segunda rota, você veria automaticamente o menu suspenso PollQuestion definido como:poll_id Parâmetro de URL. Para fazer isso, basta alterar o valor padrão do widget suspenso noPollChoiceForm classe, buscando o valor de:poll_id do objeto de solicitação.

Minha pergunta é dupla:

1) No momento, busco o objeto de solicitação usandosfContext::getInstance()->getRequest(). Eu sei dissosfContext::getInstance() é desaprovado, mas não consegui encontrar outra maneira de buscá-lo. Existe outro caminho? A injeção de dependência parece ser um bom caminho a percorrer, mas não sei como fazer isso sem fazer muitos hackers (o que eu gostaria de evitar).

2) Estou seguindo completamente a maneira errada de alterar os valores padrão de um formulário com base nos parâmetros de UR

questionAnswers(1)

yourAnswerToTheQuestion