Я понимаю, что использование {% render() %}
автоматически заставляет новый объект запроса отправляться, но им любопытно, есть ли способ передать в исходном запросе в качестве аргумента?
{% render('some_action', {'originalRequest': app.request}) %}
Это ничего не делает для контроллера:
public function actionAction($originalRequest = null)
{
// $originalRequest ends up just being null
}
Im принимает его из-за способа установки маршрута:
some_action:
pattern: /stuff/
defaults: { _controller:SomeApp:Controller:action }
Я бы предположил, что данные вроде этого не могут быть отделены от URL-адреса, поэтому какой-то способ передачи данных в отображаемый URL-адрес вообще?
EDIT (решение)
Решение было довольно простым в долгосрочной перспективе, как продемонстрировал ниже Petre Pătraşc, что в Twig все, что мне нужно было сделать, это вызвать Controller напрямую, и с этим подходом я могу передать объекты (такие как объект Request ) и Массивы вместо текстовых значений в URL.
Чтобы выполнить примерно ту же идею в контроллере, используя метод forward()
от маршрутизатора, разрешите подобные эффекты без необходимости перенаправления пользователя на другую страницу.