php框架symfony学习。(4)twig

本文介绍了Twig模板的基础使用方法,包括如何在Slim框架中配置及使用Twig模板,如何创建和渲染模板文件,以及如何通过模板继承实现页面布局的复用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Twig模板,一个非常小巧的模板并且也很精致。slim框架里也是用的twig模板。

多数前端工程师更加喜欢使用模板,因为模板通常来说有着与生俱来的有点,比如可以跨语言,而且功能相对于普通HTML的文件要强大些。通常有一些便捷功能,比原生php方便一些。

如何使用一个模板。  

模板对应路径为Bundle/Resources/views目录下,在views中建立子目录,通常是和控制器名字相对应的。

在控制器中用$this->render()方法渲染模板。

第一个参数是模板地址路径,第二参数是在模板中使用的变量数组。

命名:通常来说命名为xxx.html.twig文件。(twig的教程网上也有,官网也有教学)

{{ }}双花括号里面是变量。把一个字符串值赋值给模板

<html>
    <p>{{msg}}</p>
</html>

再写一个Action,其实就是一个Response啦 

public function msgAction(){
    $msg = "这里面有猫腻";
return $this->render('MyBundle:Default:msg.html.twig' array("msg=>$msg") );
}

然后让/msg路由来执行这个动作

my_msgpage:
    path: /msg
    defaults:{_controller:MyBundle:Default:msg}
浏览器访问 localhost/sf/star/web/app_dev.php/msg  就可以使用模板传递了变量msg 也就是显示 这里面有猫腻


具体语法就不写了,官网上讲的很详细。

绝大多数情况下,模板中会有很多通用的元素,比如header或者footer..人们常常会考虑如何复用这些元素,写一个单独的header或者footer模板,在页面上导入他们,但其实这样的做法实现效果并不很佳。

现在绝大多数的想法是通过模板的继承,也就是在父模板中留出相应的block,而且这些block可以被继承它的子模板进行重写或保留它现有,子模板只需要写它所具有的那些内容就可以了。这样的话,会保留一个更加统一的风格。

父模板会使用base.html.twig这样的命名。方便引用,通常放在app/Resources/views目录下。

父模板中会有一个block模块

{% block %}

....

{% endblock %}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值