摘要:在thinkphp的模板引擎中,如果输出的变量是空的,但我们的设计需求又不想让这里空出一大块,需要给这个变量指定一个默认值,也就是说,如果 这个变量为空,就显示我们指定的默认值。那么这个可不可以在thinkphp的模板引擎里面实现呢?实现当然是可以的,有的同学可能会疑问,直接用if去 判断不就可以实现了吗?呵呵,因为是在模板里面,如果在里面写大量的php代码,就达不到MVC的那个效果了,在模板里面
在thinkphp的模板引擎中,如果输出的变量是空的,但我们的设计需求又不想让这里空出一大块,需要给这个变量指定一个默认值,也就是说,如果 这个变量为空,就显示我们指定的默认值。那么这个可不可以在thinkphp的模板引擎里面实现呢?实现当然是可以的,有的同学可能会疑问,直接用if去 判断不就可以实现了吗?呵呵,因为是在模板里面,如果在里面写大量的php代码,就达不到MVC的那个效果了,在模板里面尽量全部用标签来处理,其实在 thinkphp里面有一个语法规则,格式是这样:
{$变量|default=”默认值”}
这里的default不是函数,而是系统的一个语法规则,例如:
{$name|default=’名称为空’}
对于一些系统变量的输出,也是可以支持默认值的哦,比如获取post和get参数的时候,而且这个默认值是可以支持HTML语法的,很强大吧!下面小编通过一个例子来演示这个默认值的效果,无忧主机(www.51php.com)小编建议大家学习期间在本地搭建php虚拟主机的环境,方便调试!
在默认控制器(IndexAction.class.php)中加入以下代码:
<?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=’传递参数为空’}>
传递get参数的方法是http://localhost/index.php/index/index/user/test
用/分开,和传统不一样,关于几种URL模式还会在后面详细讲到的。保存好代码后就可以到浏览器中去访问测试了。
相关文章推荐
虚拟主机的专业参数,分别都是什么意思?2022-09-09
中非域名注册规则是怎样的?注册域名有什么用处? 2022-01-10
HostEase新年活动促销 美国/香港主机全场低至五折2021-12-28
HostGator下载完整备份教程分享2021-12-28
Flink中有界数据与无界数据的示例分析2021-12-28