3、函数
知识梳理
//1 常用的过滤方法 date 日期格式化(支持各种时间类型) format 字符串格式化 upper 转换为大写 lower 转换为小写 first 输出数组的第一个元素 last 输出数组的最后一个元素 default 默认值 raw 不使用(默认)转义 //2 防XSS 为了避免出现XSS安全问题,默认的变量输出都会使用 htmlentities 方法进行转义输出
//3 同时使用多个函数用 | 分隔,从左到右依次调用
一 语法
{$password|md5} //竖线后面是函数名,可以使用多个函数
<?php echo htmlentities(md5($password)); ?>//编译后的结果
二 常用过滤演示
1)格式化时间日期
//输出时间变量 return View::fetch('',['time' => time()]);
//格式化时间 {$time|date='Y-m-d H:i:s'}年月入时分秒
2)格式化字符串
{$number|format='%02d'}//没有理解如何使用
3)大小写装换
return View::fetch('',['name' => 'jack']);
{$name|upper|lower}
大写 小写
4)显示数组第一个和最后一个
//输出数组变量 $arr = ['关羽','张飞','赵云','黄忠','马超']; return View::fetch('',['arr' => $arr]);
//模板页 使用函数 {$arr|last} //输出 马超 {$arr|first} //输出 关羽
5)使用默认值
//输出数组变量 $arr = ['关羽','张飞','赵云','黄忠','']; return View::fetch('',['arr' => $arr]); //模板页 使用函数 {$arr|last|default='英雄怎么会无名'} //如果变量没有值 输出默认值
6)不使用 默认转义
//输出变量 return View::fetch('',['name' => 'JACK']);
//使用函数 {$name|raw}
//解析 <?php echo $name; ?>//没有了 htmlentities 转义
三 函数需要多个参数 直接用逗号隔开
//输出变量 return View::fetch('',['name' => '马克吐温']); //多个参数函数调用 {$name|substr=0,6}//打印出:马克
//编译后的语句 <?php echo htmlentities(substr($name,0,6)); ?>
四 另一种语法( PHP式语法 )
return View::fetch('',['name' => 'jack']);
{:substr(strtoupper(md5($name)),0,3)} <?php echo substr(strtoupper($name),0,3); ?> //该语法编译后的代码不使用过滤转义
2)用助手函数输出
{:app('cache')->get('name')} //这个没有搞懂
表示调用容器中的think\Cache对象实例输出name缓存标识内容。
{:开头的变量输出表示调用函数或者类的方法及属性,如果你要带命名空间调用类的属性,例如: {:think\\App::VERSION} {:think\\facade\\Request::get('name')}
类的命名空间中的\需要改成\\才能正常调用。

浙公网安备 33010602011771号