<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="Yii Framework框架中介绍PHP模板引擎Twig的例子" id="card1">
<p> 游客</p><p>
标题:Yii Framework框架中介绍PHP模板引擎Twig的例子<br/>
正文:<br/>
Twig是一款快速、安全、灵活的PHP模板引擎，它内置了许多filter和tags，并且支持模板继承，能让你用最简洁的代码来描述你的模板。他的语法和Python下的模板引擎Jinjia以及Django的模板语法都非常像。 比如我们在PHP中需要输出变量并且将其进行转义时，语法比较累赘：代码如下:&amp;lt;?php echo $var ?&amp;gt;<br/>&amp;lt;?php echo htmlspecialchars(\$var, ENT_QUOTES, 'UTF-8') ?&amp;gt;<br/>但是在Twig中可以这样写:代码如下:{{ var }}<br/>{{ var|escape }}<br/>{{ var|e }}         {# shortcut to escape a variable #}<br/>遍历数组：代码如下:{% for user in users %}<br/>  * {{ user.name }}<br/>{% else %}<br/>  No user has been found.<br/>{% endfor %}但是要在Yii Framework集成Twig就会遇到点麻烦了，官方网站中已经有能够集成Twig的方案，所以这里我也不再赘述。但是由于Twig中是不支持PHP语法的，所以在有些表达上会遇到困难，比如我们在写Form的视图时，经常会这么写：代码如下:&amp;lt;?php $form=$this-&amp;gt;beginWidget('CActiveForm'); ?&amp;gt;<br/>    &amp;lt;span&amp;gt;Login&amp;lt;/span&amp;gt;<br/>    &amp;lt;ul&amp;gt;<br/>  &amp;lt;li&amp;gt;<br/>    &amp;lt;?php echo $form-&amp;gt;label($model,'username'); ?&amp;gt;<br/>                &amp;lt;<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1549&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1549&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1549&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1549&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1549&amp;Page=8">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=1549">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=1549">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>