感谢你来到这里
我真的很激动
盼望,能有你的支持
捐赠可扫描二维码转账支付
支付宝扫一扫付款
微信扫一扫付款
(微信为保护隐私,不显示你的昵称)
Symfony模板系统的核心是模板化Engine
。这个特殊的对象负责渲染模板并返回它们正确的内容。当你在控制器中渲染一个模板时,其实你是使用了模板引擎服务。例如:
1 | return $this->render('article/index.html.twig'); |
相当于
1 2 3 4 5 6 | use Symfony\Component\HttpFoundation\Response;
$engine = $this->container->get('templating');
$content = $engine->render('article/index.html.twig');
return $response = new Response($content); |
该模板引擎(服务)在Symfony内部是预先配置好,自动工作的。当然,它也可以在程序的配置文件中进行配置。
1 2 3 4 | # app/config/config.yml
framework:
# ...
templating: { engines: ['twig'] } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <!-- app/config/config.xml -->
<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:framework="http://symfony.com/schema/dic/symfony"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
<!-- ... -->
<framework:config>
<framework:templating>
<framework:engine>twig</framework:engine>
</framework:templating>
</framework:config>
</container> |
还有几个配置选项是可用的,都包含在配置附录。
twig
强制使用webprofiler(以及许多第三方包)。
本文,包括例程代码在内,采用的是 Creative Commons BY-SA 3.0 创作共用授权。