Commit Graph

35 Commits

Author SHA1 Message Date
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
thinkphp
ca79fbb875 修正template和taglib类的session标签解析 2015-12-23 10:37:33 +08:00
Haotong Lin
66f433330d 修复switch...case模板标签嵌套解析错误 2015-12-17 13:28:28 +08:00
thinkphp
ad0e03c868 更改默认的模板缓存目录 2015-12-14 22:04:56 +08:00
thinkphp
7b0fe7286d 增加sae相关驱动 2015-12-10 15:17:32 +08:00
yicheng
47335634e9 注释和规范化调整及完善
注释和规范化调整及完善,以及部分代码优化
2015-12-06 01:56:10 +08:00
thinkphp
3b21161c0a 规范修正 2015-10-04 22:32:55 +08:00
thinkphp
27e724bb3c PSR规范调整 2015-10-04 13:05:15 +08:00
thinkphp
1cfb3704c6 规范调整 2015-10-03 21:43:48 +08:00
thinkphp
e96ac8493f session类和input类调整
注释调整
2015-02-23 20:54:16 +08:00
huangdijia
a2716ad313 修正 命名空间大小写
修正 扩展控制器目录位置
2015-01-23 13:39:51 +08:00
thinkphp
b32d00b7f8 更新 2015-01-22 09:29:54 +08:00