欢迎您光临深圳塔灯网络科技有限公司!
电话图标 余先生:13699882642

网站百科

为您解码网站建设的点点滴滴

首页  >   > 技术知识

ThinkPHP5.1开发手册 · 使用函数

发表日期:2019-10 文章编辑:小灯 浏览次数:913

需要对模板输出使用函数进行过滤或其它处理的时候,可以使用: ~~~ {$data.name|md5} ~~~ 可以使用空格,例如下面的写法是一样的: ~~~ {$data.name | md5} ~~~ 编译后的结果是: ~~~ <?php echo htmlentities(md5($data['name'])); ?> ~~~ 其中`htmlentities`方法是系统默认添加的(无需手动指定。 >[danger] 为了避免出现XSS安全问题,默认的变量输出都会使用`htmlentities`方法进行转义输出。 你还可以设置默认的过滤方法,在配置文件`template.php`中设置 ~~~ 'default_filter' => 'htmlspecialchars' ~~~ 就会默认使用`htmlspecialchars`方法过滤输出。 如果你不需要转义(例如你需要输出html表格等内容),可以使用: ~~~ {$data.name|raw} ~~~ 编译后的结果是: ~~~ <?php echo $data['name']; ?> ~~~ 系统内置了下面几个固定的过滤规则(不区分大小写) 过滤方法|描述 ---|--- date|日期格式化(支持各种时间类型) format|字符串格式化 upper|转换为大写 lower|转换为小写 first|输出数组的第一个元素 last|输出数组的最后一个元素 default|默认值 raw|不使用(默认)转义 例如 ~~~ {$data.create_time|date='Y-m-d H:i'} {$data.number|format='%02d'} ~~~ 如果函数有多个参数需要调用,可以使用 ~~~ {$data.name|substr=0,3} ~~~ 表示输出 ~~~ <?php echo htmlentities(substr($data['name'],0,3)); ?> ~~~ 还可以支持多个函数过滤,多个函数之间用“|”分割即可,例如: ~~~ {$name|md5|upper|substr=0,3} ~~~ 编译后的结果是: ~~~ <?php echo htmlentities(substr(strtoupper(md5($name)),0,3)); ?> ~~~ 函数会按照从左到右的顺序依次调用(系统默认的过滤规则会在最后调用)。 >[danger] 变量输出使用的函数可以支持内置的PHP函数或者用户自定义函数,甚至是静态方法。 如果你觉得这样写起来比较麻烦,也可以直接这样写: ~~~ {:substr(strtoupper(md5($name)),0,3)} ~~~ >[danger] 使用该方法输出的值不会使用默认的过滤方法进行转义。 可以在模板中直接使用系统的助手函数进行输出 ~~~ {:app('cache')->get('name')} ~~~ 表示调用容器中的`think\Cache`对象实例输出`name`缓存标识内容。 `{:`开头的变量输出表示调用函数或者类的方法及属性,如果你要带命名空间调用类的属性,例如: ~~~ {:think\\App::VERSION} {:think\\facade\\Request::get('name')} ~~~ >[danger]类的命名空间中的`\`需要改成`\\`才能正常调用。

ThinkPHP5.1开发手册 · 变量输出

在模板中输出变量的方法很简单,例如,在控制器的方法中我们给模板变量赋值: ~~~php $this->assign('name', 'thinkphp'); return $this->fetch(); ~~~ 然后就可以在模板中使用: ~~~ Hello,{$name}! ~~~ 模板编译后的结果就是: ~~~ He


本页内容由塔灯网络科技有限公司通过网络收集编辑所得,所有资料仅供用户参考了本站不拥有所有权,如您认为本网页中由涉嫌抄袭的内容,请及时与我们联系,并提供相关证据,工作人员会在5工作日内联系您,一经查实,本站立刻删除侵权内容。本文链接:http://dengtar.com/22487.html
相关
 八年  行业经验

多一份参考,总有益处

联系深圳网站公司塔灯网络,免费获得网站建设方案及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:余经理:13699882642

Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.