Commit Graph

61 Commits

Author SHA1 Message Date
thinkphp
282d04e4af 更新说明 2018-01-01 20:19:18 +08:00
ThinkCMF
c5d12b8da0 Update TagLib.php
修改getRegex为 public
2017-03-03 14:01:48 +08:00
苗高鹏
21834f797d Merge branch 'master' into bugfix3 2017-02-13 14:53:24 +08:00
thinkphp
069d63a2fc 单元测试 2017-01-20 13:28:57 +08:00
yunwuxin
0877798447 修正cx标签 2017-01-16 17:30:14 +08:00
hooklife
5c4df0ce08 修改架构函数为 构造方法 2017-01-10 15:48:42 +08:00
thinkphp
31ca473866 Revert "改进模板引擎的empty标签"
This reverts commit aecd3524a9.
2017-01-06 17:22:22 +08:00
thinkphp
aecd3524a9 改进模板引擎的empty标签 2017-01-04 21:46:02 +08:00
thinkphp
d6b9e2f628 2017更新 2017-01-01 13:00:23 +08:00
thinkphp
18f8ee155d 规范代码 2016-12-24 21:44:12 +08:00
thinkphp
4115408538 注释调整 2016-09-15 12:58:29 +08:00
舒博
6e74935e84 修复了在php5.4以上版本中pcre库版本略低出现的preg_match或preg_match_all函数报无法识别字符错误,并且可以向上兼容 2016-07-27 14:28:25 +08:00
thinkphp
4a1474bacf 单元测试修正 2016-07-13 21:22:13 +08:00
thinkphp
f8143dcdb2 权限调整 2016-07-13 21:06:22 +08:00
thinkphp
7281e76aff 创建目录权限修改为0644 2016-07-12 13:42:50 +08:00
thinkphp
e35a0a88ac 移除sae驱动 改为扩展包 2016-07-07 11:55:57 +08:00
thinkphp
ea9682c724 替换 time() 为 $_SERVER['REQUEST_TIME'] 2016-07-03 15:03:10 +08:00
lilwil
28da923d28 增加单元测试 (#186) 2016-06-30 02:15:51 -05:00
thinkphp
87ad5e95bb Route类的bind方法参数顺序调整 增加getBind方法用于获取绑定信息 2016-06-24 12:33:07 +08:00
thinkphp
1a8bbf6725 改进TagLib类 2016-06-24 11:09:26 +08:00
thinkphp
689c4aa4ea 修正标签库解析一处可能的bug 2016-06-23 19:21:49 +08:00
thinkphp
7b03d319b2 改进标签库的不区分大小写 2016-06-23 19:08:57 +08:00
thinkphp
57ca7a376b 修改标签库的方法命名 取消 import标签 2016-06-23 18:37:46 +08:00
thinkphp
a032828d5c 注释规范 2016-06-20 17:34:54 +08:00
thinkphp
91c5ae427c 修正Cx标签库一处错误 2016-06-16 16:26:45 +08:00
thinkphp
50d1798e92 改进Handle类支持异常的多语言 Lang类增加has方法 增加核心中文语言包 2016-06-16 16:07:44 +08:00
thinkphp
4a4bc53cb5 修正模板标签url 2016-05-27 07:56:46 +08:00
翟帅干
dfd1f499fb 修复 检测模板缓存是否有效 方法bug, 先判断缓存文件是否存在, 如果文件不存在而直接调用filemtime会报错 2016-05-12 18:05:10 +08:00
yunwuxin
6ca3dad850 修正模板标签解析
新增几个常用的数组处理方法
2016-05-08 12:36:08 +08:00
thinkphp
dd71f679ee 改进Template类import标签库 2016-04-25 10:17:00 +08:00
oldrind
95fcc59bd5 修复模板更新后不更新缓存的问题 2016-03-12 18:19:14 +08:00
oldrind
d5483426c2 修正模板缓存问题 2016-03-12 10:08:42 +08:00
oldrind
71dbdcb874 优代部分代码;block标签内可以使用{__block__}来引用所继承模板中相应block标签的内容;
模板包含文件记录及更新时间直接写入缓存的模板中;改进标签别名的处理方式,别名不再定义方法;
去除include标签传参自动生成变量的代码;cx类增加function方法,用来生成匿名函数,结合{~$函数名()}可用于递归的实现。
2016-03-11 21:58:18 +08:00
杰少Pakey
aeee2f1bbd 代码格式化 2016-03-09 10:55:33 +08:00
杰少Pakey
edbaaa8547 taglib 增加一个U函数的tag 2016-03-09 10:52:17 +08:00
oldrind
4dc26f5dab 改进模板缓存检测方式;增加全局布局文件开关 2016-02-18 21:42:19 +08:00
thinkphp
27cc3d524a 修正单元测试错误 2016-02-02 15:29:03 +08:00
oldrind
b52416c3a6 修正自定义标签找不到方法名的问题 2016-02-02 13:25:13 +08:00
Jinchun Yang
f6a708e1f8 1)修改了一些注释的错误参数类型和返回类型
2)修改了一些无意义的变量名
3)本次 commit 没有逻辑上的变动
2016-01-29 22:28:01 +08:00
oldrind
d3a7a6207a 改进变量标签正则表达式;修正volist标签参数判断bug; 2016-01-29 22:10:19 +08:00
oldrind
db0eae9d5d 提升template类测试覆盖率,修正include标签传变量的错误 ,以$开头表示传的是变量。 2016-01-28 17:49:15 +08:00
oldrind
e17ec8f9ac template单元测试 2016-01-19 15:51:06 +08:00
oldrind
96af142bdc 修正标签直接使用表达式时字符串被多截取一位的bug
添加switch和case支持直接使用表达式
2016-01-15 16:56:51 +08:00
小陈叔叔
7c0eb3e60e 修复自定义标签不能正确加载的问题 2016-01-12 14:37:18 +08:00
小陈叔叔
5044194e93 修正模板比较标签,value值为变量时的不能正确判断的问题 2016-01-09 13:59:10 +08:00
thinkphp
4b389c10ed 修正cx标签库 2016-01-05 09:30:54 +08:00
thinkphp
3881938ddb 调整类的文件命名规范为psr-4 2016-01-04 16:58:58 +08:00
thinkphp
fa897d927b 注释调整 2016-01-04 08:51:03 +08:00
thinkphp
1b61dab806 修正taglib类的一处配置调用错误 增加 traits\controller\response 2015-12-24 11:16:16 +08:00
yin
e216563b09 改进了标签替换方式,不需要递归进用替换,效率提升,也不用再限制标签嵌套层数。
1. 兼容原来所有的标签功能和用法,已 对正则进行了优化,标签库和内置的普通标签可以使用一样的边界符,比如都用"{}",只要不重名不会相互干扰,这样这些标签就可以和html标签区分开。

 2. 模板支持多级继承。C继承B,而B又继承了A,C中的block会覆盖B和A中的同名block。

 3. include标签支持多层嵌套,可以传变量。如:
include file="Public/nav" selected="{$id}"
 在Public/nav模板用[selected]得到的是[$id}被解析后的值,而在3.2版中这样的写法是不能正确得到{$id}的值的。

 4. 增强了.语法的应用范围
 {$user.name.$group.name} 解析后是 <?php echo $user['name'].$group['name']; ?>
 {:substr($varname.aa, $varname.bb)} 解析后是 <?php echo substr($varname['aa'], $varname['bb']); ?>
 .语法在各个标签中都可以使用,$a.b.c这样的形式都能正确解析成$a['b']['c']

 5. 增加了一些新的语法
 {$varname.aa ?? 'xxx'} 表示如果有设置$varname则输出$varname,否则输出'xxx'。 解析后的代码为: <?php echo isset($varname['aa']) ? $varname['aa'] : '默认值'; ?>
 {$varname?='xxx'} 表示$varname为真时才输出xxx。 解析后的代码为: <?php if(!empty($name)) echo 'xxx'; ?>
 {$varname ?: 'no'} 表示如果$varname为真则输出$varname,否则输出no。解析后的代码为: <?php echo $varname ? $varname : 'no'; ?>
 {$a==$b ? 'yes' : 'no'} 前面的表达式为真输出yes,否则输出no, 条件可以是==、===、!=、!==、>=、<=

 6. 对if标签及foreach也加了一些更简洁的用法
{if condition="表达式"}
{if (表达式)}
{if 表达式}
这三种写法结果是一样的
{foreach $list as $v} 解析后是最简洁的,只一个foreach语句
{foreach name="list" item="v“} 这僦是原来的写法,解析后foreach外层会多一if判断,item换成id也可以
{foreach name="list" id="v" key="key" index="i" mod="2" offset="2" length="5"}
volist上的功能,foreach都有,只是volist默认会带上一些参数,而foreach需要指定这些参数才会生效
2015-12-24 00:41:48 +08:00