渲染 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>