在thinkphp的模板引擎中,若是输出的变量是空的,但咱们的设计需求又不想让这里空出一大块,须要给这个变量指定一个默认值,也就是说,若是 这个变量为空,就显示咱们指定的默认值。那么这个可不能够在thinkphp的模板引擎里面实现呢?实现固然是能够的,有的同窗可能会疑问,直接用if去 判断不就能够实现了吗?呵呵,由于是在模板里面,若是在里面写大量的php代码,就达不到MVC的那个效果了,在模板里面尽可能所有用标签来处理,其实在 thinkphp里面有一个语法规则,格式是这样: php
{$变量|default=”默认值”} html
这里的default不是函数,而是系统的一个语法规则,例如: thinkphp
{$name|default=’名称为空’} 浏览器
对于一些系统变量的输出,也是能够支持默认值的哦,好比获取post和get参数的时候,并且这个默认值是能够支持HTML语法的,很强大吧!下面小编经过一个例子来演示这个默认值的效果,无忧主机(www.51php.com)小编建议你们学习期间在本地搭建php虚拟主机的环境,方便调试! 函数
在默认控制器(IndexAction.class.php)中加入如下代码: post
<?php class IndexAction extends Action { public function index() { $name=''; $this->assign('name',$name); $this->display(); } } ?>
而后在其对应的模板(index.html)里面写以下代码,来测试下 学习
name变量的值:<{$name|default=’name的值为空’}> <br> 测试
get参数user的值:<{$Think.get.user|default=’传递参数为空’}> this
传递get参数的方法是http://localhost/index.php/index/index/user/test spa
用/分开,和传统不同,关于几种URL模式还会在后面详细讲到的。保存好代码后就能够到浏览器中去访问测试了。