featherview模板引擎
在纯php文件中不加php结束符是一个好习惯,php结束符仅用于在php与html混写时标示php代码结束。
<? ?>是短标签,<?php ?>是长标签,在php的配置文件(php.ini)中有一个short_open_tag的值,开启以后可以使用PHP的短标签。
一、简介featherview
Feather_view是内置的php模板引擎,结合fis提供的fis-server,可以实现动态模版渲染本地调试功能。这个插件是后端提供的,前端和后端的联系仅仅通过Feather_view。
二、featherview常用语法
1、模块引用
2、扩展子模块
3、PHP符号
A、单行注释用 // 或 #,多行注释用/* */
B、拼接字符串用"."
C、@是错误抑制符,就算变量不存在,也能让页面正常输出。
<?=@$value ?>
这样做有好处,也有坏处,页面不出错,发现不了问题。
4、定义变量
- <?php $value="Bonjour"; ?>
- <?php $name="camille"; ?>
5、打印变量
- <?= $value ?> // Bonjour
echo是一个语言结构,有无括号均可使用,echo或echo()。echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值。print()只能打印出简单类型变量的值,如int,string。print_r()可以打印出复杂类型变量的值,如数组,对象。
- <?php echo $value; ?> //Bonjour
- <?php echo var_dump($value); ?> //string(7) "Bonjour"
- <?php echo sprintf("%s, je suis %s ",$value,$name); ?> //Bonjour,je suis camille
- <?php print $value; ?> //Bonjour
- <?php print_r($value); ?> //Bonjour
- <?php printf("%s, je suis %s ",$value,$name);?> //Bonjour,je suis camille
6、定义数组
- <?php $myArr=array("job","blog","essay","fransai","dream"); ?>
- <?php $myArr=array("job" => "r1","blog" => "r2","essay"=> "r3","fransai"=>"r4","dream"=>"r5"); ?>
7、打印数组
- A、<?php print_r($myArr); ?>
- Array
- (
- [0] => job
- [1] => blog
- [2] => essay
- [3] => fransai
- [4] => dream
- )
- B、<?php var_dump($myArr); ?>
- array(5) {
- [0]=>
- string(3) "job"
- [1]=>
- string(4) "blog"
- [2]=>
- string(5) "essay"
- [3]=>
- string(7) "fransai"
- [4]=>
- string(5) "dream"
- }
- C、<?php var_export($myArr); ?>
- 返回一个变量的字符串表示。
8、条件语句
- <?php if ($value !== 0): echo $value; endif; ?>
- <?php if(): ?>
- <?php endif; ?>
- <?php if($value != ''): ?>
- <?php else: ?>
- <?php endif; ?>
- <?php if ($value !== 0) { echo 'active'; } ?>
- <?php if() { ?>
- <?php } else { ?>
- <?php } ?>
- <?php echo !empty($value) ? $value : ''; ?>
9、循环语句
- <?php for($j=0; $j < count($myArr); $j++) { ?>
- <?php } ?>
- <?php foreach($myArr as $key => $value): ?>
- <?php endforeach; ?>
- <?php foreach($myArr as $key => $value) {
- } ?>
- <?php foreach($myArr as $key => $value) { ?>
- <?php } ?>
三、featherview常用的PHP函数
1、字符串操作
A、返回字符串长度
- strlen(str)
- mb_strlen(str,'utf8')
B、移除字符串两边特定字符,常用来除去两边空格
- trim(str, charlist)
C、通过千位分组来格式化数字
- number_format($value)
D、将变量转成整数类型
- intval($value)
E、返回字符串的一部分
- mb_substr(str, startindex, length, 'utf-8')
- <?php echo mb_strlen($value,'utf8') > 8 ? mb_substr($value, 0, 8, 'utf-8')."..." : $value; ?>
F、替换字符串中特定的字符
- strtr(str, findstr, replacestr)
- strtr(str, array)
- <?php
- echo strtr("baab", "ab", "01"),"\n"; //
- $trans = array("ab" => "01");
- echo strtr("baab", $trans); //ba01
- ?>
G、返回替换后的字符串
- str_replace(findstr, replacestr, str)
- <?php echo str_replace("o","a",$value); ?> // Banjaur
H、查找字符串在另一字符串中的首次出现,区分大小写,返回字符串
- strstr(str, findstr, false)
- <?php echo strstr($value,"o"); ?> // onjour
- <?php echo strstr($value,"o",true); ?> // B
- strpos(str, findstr, start);//返回数字
- 查找字符串在另一字符串中第一次出现的位置(区分大小写)
- stripos(str, findstr, start);//返回数字
- 查找字符串在另一字符串中第一次出现的位置(不区分大小写)
- strrpos(str, findstr, start);//返回数字
- 查找字符串在另一字符串中最后一次出现的位置(区分大小写)
- strripos(str, findstr, start);//返回数字
- 查找字符串在另一字符串中最后一次出现的位置(不区分大小写)
- addslashes(str)
- <?php
- $testStr='转义后,"输出",阻止转义后,输出正常的双引号",有可能破坏变量的引号的正常匹配';
- echo addslashes($testStr);
- ?>
- //转义后,\"输出",阻止转义后,输出正常的双引号\",有可能破坏变量的引号的正常匹配
J、将字符转换为HTML转义字符,防止XSS攻击
- htmlentities(str)
- <?php
- $testStr='<a href="test.html">测试页面</a>';
- echo htmlentities($testStr);
- ?>
- //<a href="test.html">²âÊÔÒ³Ãæ</a>有中文的时候,最好用htmlspecialchars,否则可能乱码。
- //<a href="test.html">测试页面</a>
K、将特殊字符转换为HTML实体,防止XSS攻击
- htmlspecialchars(str)
- <?php
- $testStr='<a href="test.html">测试页面</a>';
- echo htmlspecialchars($testStr);
- ?>
- //<a href="test.html">测试页面</a>
- //<a href="test.html">测试页面</a>
L、把字符串分割到数组中
- str_split(str, length)
- <?php print_r(str_split($value,2)); ?>
- Array
- (
- [0] => Bo
- [1] => nj
- [2] => ou
- [3] => r
- )
M、把字符串打散为数组
- explode(" ",$value)
- <?php print_r(explode(" ",$value)); ?>
- Array
- (
- [0] => Bonjour
- )
2、数组操作
A、检测变量是否为空
- empty($value) 或者 empty($myArr)
B、检测变量是否设置
- isset($value) 或者 isset($myArr)
C、销毁变量
- unset($myArr)
D、检测变量是否是数组
- is_array($myArr)
E、检测数组中是否存在指定的值,区分大小写。
- in_array(finditem, array)
F、返回数组长度
- count($myArr), sizeof()是count()的别名
G、求最小最大值
- min(x,y)或者min($myArr)
- max(x,y)或者min($myArr)
H、返回一个包含给定数组中所有键值的数组,但不保留键名。
- array_values($myArr)
I、从数组第二个元素开始取出,并仅返回两个元素。
- array_slice($myArr,1,2)
J、从数组第三个元素开始取出,并返回数组中的其余元素。
- array_slice($myArr,2)
K、数组组合成字符串
- implode(" ",$myArr)
L、把数组(或对象)转为json格式数据
- json_encode($myArr)
M、对JSON格式的字符串进行解码,并转换为 PHP 变量。
- json_decode($json)
N、格式化本地日期和时间,并返回已格式化的日期字符串。
- date(format,timestamp)
四、featherview常用的超级全局变量
1、从地址栏获取参数
- $_GET["agentno"] //比如1
2、判断是否是https协议
- function getProtocol(){
return !isset($_SERVER['HTTPS']) ? 'http://' :'https://';
}
3、获取当前页面地址的主机名,类型为string。
- $_SERVER['HTTP_HOST'] //比如xxx.com.cn
4、获取当前设备的userAgent,类型为string。
- function isWeixin(){
return strpos($_SERVER['HTTP_USER_AGENT'],'MicroMessenger') > -1 ? true : false ;
}
五、php自定义函数
- //不传参数时,默认是空字符串,是设置函数默认参数的一种方式
- public static function getParam($str=""){
- }
featherview模板引擎的更多相关文章
- php模板引擎之featherview
在纯php文件中不加php结束符是一个好习惯,php结束符仅用于在php与html混写时标示php代码结束. <? ?>是短标签,<?php ?>是长标签,在php的配置文件( ...
- JavaScript学习笔记(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例
一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...
- Handlebars 模板引擎之前后端用法
前言 不知不觉间,居然已经这么久没有写博客了,坚持还真是世界上最难的事情啊. 不过我最近也没闲着,辞工换工.恋爱失恋.深圳北京都经历了一番,这有起有落的生活实在是太刺激了,就如拿着两把菜刀剁洋葱一样, ...
- 推荐13款javascript模板引擎
javaScript 在生成各种页面内容时如果能结合一些模板技术,可以让逻辑和数据之间更加清晰,本文介绍 X 款 JavaScript 的模板引擎.(排名不分先后顺序) 1. Mustache 基于j ...
- JavaScript学习总结(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例
一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...
- DotLiquid模板引擎简介
DotLiquid是一个在.Net Framework上运行的模板引擎,采用Ruby的Liquid语法,这个语法广泛的用在Ruby on rails和Django等网页框架中. DotLiquid相比 ...
- doT js 模板引擎【初探】要优雅不要污
js中拼接html,总是感觉不够优雅,本着要优雅不要污,决定尝试js模板引擎. JavaScript 模板引擎 JavaScript 模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注. ...
- 浅谈 Web 中前后端模板引擎的使用
前言 这篇文章本来不打算写的,实话说楼主对前端模板的认识还处在非常初级的阶段,但是为了整个 源码解读系列 的完整性,在深入 Underscore _.template 方法源码后,觉得还是有必要记下此 ...
- JavaScript模板引擎artTemplate.js——结语
再次首先感谢模板的作者大神,再次放出github的地址:artTemplate性能卓越的js模板引擎 然后感谢博客园的一位前辈,他写的handlebars.js模板引擎教程,对我提供了很大的帮助,也是 ...
随机推荐
- JavaScript 中一些概念理解 :clientX、clientY、offsetX、offsetY、screenX、screenY
clientX 设置或获取鼠标指针位置相对于窗口客户区域的 x 坐标,其中客户区域不包括窗口自身的控件和滚动条. clientY 设置或获取鼠标指针位置相对于窗口客户区域的 y 坐标,其中客户区域不包 ...
- 三列等高 css实现
实现这个三列等高 布局需要最外层的一个div wrap容器 里面有三个div容器 这个最外层div 需要移除隐藏 overflow:hidden; 关键点就是三列div 同时margin-botto ...
- [nosql之缓存memcache]安装篇LInux for Windows
首先呢在PHP开发的过程中会用到很多缓存服务,从而提升访问质量或者临时存储一些数据. 优点 结构简单,读取速度快,易于维护.还有一些特性memcache redis mongodb都可以用来做为缓存用 ...
- NOSDK--SDK一键打包及统一接入的实现(前言)
前言 一,一键打包的实现 1.1 shell脚本执行流程介绍 1.2 自动刷新mk文件的脚本介绍 1.3 编译及拷贝资源的脚本介绍 1.4 打包及签名的脚本介绍 1.5 mac下的脚本环境配置及脚本的 ...
- 【bzoj3036】绿豆蛙的归宿
题目描述 随着新版百度空间的下线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿. 给出一个有向无环的连通图,起点为1终点为N,每条边都有一个长度.绿豆蛙从起点出发,走向终点.到达每一个顶点时,如 ...
- JavaScript对象的理解 及 字面量对象与数组的关系
JavaScript的简单类型包括 数字.字符串.布尔值.null值.undefined值. 其他的值都是对象.对象是可变的键控集合.数组.函数.正则表达式都是对象. 对象是属性的容器,属性都是名字和 ...
- 【荐】PHP采集工具curl快速入门教程
为什么要用CURL? CURL(Client URL Library Functions)是一个利用URL语法在命令行方式下工作的文件传输工具.它支持很多协议:FTP, FTPS, HTTP, HTT ...
- 1.1ASP.NET Web API 2入门
HTTP 不只是为了生成 web 页面.它也是建立公开服务和数据的 Api 的强大平台.HTTP 是简单的. 灵活的和无处不在.你能想到的几乎任何平台有 HTTP 库,因此,HTTP 服务可以达到范围 ...
- 【转】MVC中处理Json和JS中处理Json对象
事实上,MVC中已经很好的封装了Json,让我们很方便的进行操作,而不像JS中那么复杂了. MVC中: public JsonResult Test() { JsonResult json = new ...
- 分布式中Redis实现Session终结篇
上一篇使用Redis实现Session共享方式虽然可行,但是实际操作起来却很麻烦,现有代码已经是这个样子了,总不可能全部换掉吧!好吧,这是个很实际的问题,那么能不能实现无侵入式的分布式Session共 ...