Это исполняемый код (как показано в разделе «Код за этой страницей»):
Код контроллера
/**
* @Route("/hello/{name}", name="_demo_hello")
* @Template()
*/
public function helloAction($name)
{
$name = "whatever";
$this->render('AcmeDemoBundle:Demo:hello.html.twig',
array('name' => '123'));
//return array('name' => 'abc');
}
Код шаблона
{% extends "AcmeDemoBundle::layout.html.twig" %}
{% block title "Hello " ~ name %}
{% block content %}
<h1>xHello {{ name }}!</h1>
{% endblock %}
Вывод:
xHello Raffael!
URL: http://192.168.177.128/Symfony/web/app_dev.php/demo/hello/Raffael
И вот моя проблема:
Когда я раскомментирую возврат в контроллере, тогда "Раффаэль"заменяется на" abc ", как и ожидалось.
Но в соответствии с Quicktour можно определить значения переменных в шаблоне с помощью метода рендеринга.
Чтобы отобразить шаблон в Symfony, используйте метод render из контроллера и передайте ему любые переменные, необходимые в шаблоне:
$ this-> render ('AcmeDemoBundle: Demo: hello.html.веточка, массив ('name' => $ name,));
Что не так?