新闻中心

thinkphp3.0基础模板引擎变量为空时输出默认值

作者 / 无忧主机 时间 2012-09-26 04:08:44

在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模式还会在后面详细讲到的。保存好代码后就可以到浏览器中去访问测试了。   纯Linux环境下高端免备案【香港独立IP地址】 php空间,仅仅只需199元一年起。商务中国域名核心代理直销50元注册国际顶级域名

本文地址:https://www.51php.com/thinkphp/8789.html

1
1
1
1
1
1
1