渲染 Twig 模板

大多数情况下,你需要从模板呈现 HTML 响应,而不是在控制器中对 HTML 进行硬编码。此外,你的模板不会是静态的,但会包含应用程序数据的占位符。默认情况下,Symfony 附带了一个强大的模板语言 Twig。

要在控制器中使用 Twig,请扩展 Symfony 的基础 Controller 类:

// src/AppBundle/Controller/HelloWorldController.php
namespace AppBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;

class HelloWorldController extends Controller
{
    public function helloWorldAction()
    {
        $text = 'Hello World!';

        return $this->render('hello-world.html.twig', ['text' => $text]);
    }
}

创建 Twig 模板(位于 app/Resources/views/hello-world.html.twig 中):

<html><body>{{ text }}</body></html>

Twig 会自动将 {{ text }} 占位符替换为控制器传递的 text 参数的值。这将呈现以下 HTML 输出:

<html><body>Hello World!</body></html>