* 优化升级 不兼容的内容:
1) 配置文件中的URL_MOD,DEBUG,MODULE字段有变更,新增 ROUTER 字段
2) view 中的模板复用方法
3) make_dir 函数名变更为 MakeDir
4) 入口文件在根目录的情况下,U_RES 目录保持不变(之前版本不正常)
* 调整文件缓存支持写入php的数组结构代码
* 修改伪静态规则
* 修复不使用core版本目录造成的错误
* 取消make_dir对创建中文目录的支持,某些操作系统下可能会有问题
* 解决删除javascript中//注释时,http://...这种形式也会被删除的问题
* 重写缓存类,增加redis和memcached获取锁方法
优化view的页面缓存机制
添加一个常量:ZPHP_OS(值只有WINDOWS或LINUX)
* 修复mysql超时重连机制的一处错误
* 修复上次调整db分页功能的一处错误:最后一页数据量刚好等于指定每页数据量时会返回空数据
* 修复上次调整db分页功能的一处错误:最后一页数据量刚好等于指定每页数据量时会返回空数据
* 增加db::fetch()的分页功能 调整db分页功能,指定分页无数据时直接返回,不再执行具体分页数据的查询操作
* 修复view没有模板引用时的一处警告信息
* json格式debug信息的一处细节修改
* 增加批量插入数据的功能 $db->BatchInsert()
* 调整config['VER']:无配置时不启用版本功能和版本目录
* 修复版本号路径的一处错误 * 调整数据缓存,增加按库和表清理数据缓存的功能
* 调整数据缓存,增加按库和表清理数据缓存的功能
* 优化html缓存写入策略,防止高并发下可能造成的重复写入
* 修复db::Count()查询后没有清理数据的问题
* 生成分页链接时,路由模式下未匹配到分页参数时:分页参数部分采用queryString的模式(例如:/list/1/2?p=1&num=10)
* 修复模板嵌套引用时可能造成的死循环
* db插入复合主键的数据时返回值异常的问题 如需要返回复合主键的值则需要在*.base.php指定主键值为一个数组否则返回 true或0
* 修复控制器直接return时的错误
* 常量 P_RES_MODULE 结尾“/”
* 修复路由不解析“/”的问题
* 修复使用绝对路径加载模板文件时的错误
* 修复U_RES_VER路径常量错误
* debug异常信息
* 修复异常信息可能出现中文乱码的问题
* U_RES_APP 后面的 /
* 调整view压缩,保留<!--[if lt IE 9]>这样的条件注释语法
* 错误信息输出到head标签内的问题
* 修改view缓存,添加ReadFileSH()
* view::Fetch()参数默认值
* display的缓存默认值0
* html缓存参数问题
pathinfo和querystring模式没有ROUTE[qury]的问题,params优先
* 修改view压缩
* 删除一处冗余代码
* 修改文件缓存的键名,有问题的话需要清理一下缓存文件
* 修改模板生成文件的中文被编码的问题; 修改模板文件压缩
* debug页面的问题
* 去除解析模板时加入的meta标签
* 修复db缓存分页查询,分页无效的问题
* 优化分页链接
* 修复*路由匹配错误
* 修复路由模式分页链接错误
* 修改db类 Merge() 函数
* 修复view不能正确显示html标签内变量和php代码的问题
* 修改上传返回的src多个/的问题
* 修复不加载应用common目录的函数文件
* 修改分页链接错误
4.0.0 release
发布4.0.0 beta2 版本
更正 core/init/functions.php 一处手误:
修复pathInfo模式下参数带有小数点解析出错的问题
修改数据模型 where 条件一处错误, 多个 where['id|uid'] 此类条件时解析出错
修改数据模型 where 条件数组KEY中带有 AND OR 等关键字字符时解析出错
上次更新的一处遗漏,数据模型的 ifInsert() 方法出错
增加sqlite的支持(未经详细测试,慎用)
debug模式下不更新模板包含文件的问题
修改sql类一处警告
修改获取主键为数组的形式
where 字符串绑定参数是数组时自动解构数组
修改数据模型 缺省主键查询时获取主键名错误的问题
修改数据模型在group()分组查询时,获取总数据行数不正确的问题,影响到数据分页和count方法
修改数据模型table方法,在前一个table()使用别名后,后一个table()使用相同表名且不使用别名时候,别名依然存在的问题
修改文件缓存FC()方法的过期时间错误
修改数据模型page()分页方法的一处错误,该错误在末尾几页时会造成内存耗尽
修改 _404() 方法的一处变量名错误
修改数据模型 where having 条件中含有别名时统计数据条数出错的问题
修改数据模型 submit() 方法在执行 非 update,delete,insert 操作时返回值异常的问题
修改数据模型 在解析where条件时的一处错误
修复一处 PathInfo 模式下解析异常的bug
修复数据模型 field() 不支持 ALL,DISTINCT,DISTINCTROW,TOP 操作的问题
修复数据模型 使用多个 where() 时 连接where条件的 OR逻辑 无效的问题
修复上一版 make_dir 函数 创建目录成功也报错的问题
增加一个配置项 PATHINFO_SUFFIX :pathinfo模式下生成url的后缀名
修改 R()函数,补充部分函数注释
修改框架创建必要的目录及文件失败时将抛出异常(包括模板编译目录,缓存目录)
调整S()函数和FC()函数
调整生成路由模式url的函数,之前版本路由模式生成的url会默认舍弃index.php文件名和.php后缀
调整后,默认保留文件名,配置为静态时候可以将URL_MOD 设为3,或者U函数传入第三个参数值3,(此时会舍弃默认文件名和后缀)
调整自动加载函数,3.1.0版本存在缺陷
调整_404()和_500()方法,之前版本在找不到控制器文件时会500而不是404
优化sql类
修复db类和pdo类中的 submit() 方法的一处错误
修复debug信息中 sql信息丢失参数的问题
数据模型增加 ifInsert() 方法,有则更新,无则添加
增加 zautoload() 方法,用来避免在使用的其它SDK时造成的自动加载冲突【SDK中有spl_autoload_register() 方法时需改为框架的 zautoload() 方法】
修复M()函数实例化 没有继承db类的模型时的错误
添加3.0版本数据模型中漏掉的submit()方法
优化数据模型
修复实例化其它应用的模型时的错误
数据模型加入了读写分离和缓存。
单独封装了直接书写SQL语句的PDO类,同样支持读写分离和数据缓存,效率上要比数据模型高那么一点,内存消耗上也少一点。追求性能的可以考虑使用。
数据模型的私有属性和方法都加了前缀,避免继承后带来的冲突
修复数据模型的 BETWEEN 查询的错误
修复数据模型 行锁无效的错误
修复数据模型 where 条件的一处解析错误,$where['id'] = [0,10]; 当数组第一个值为0时会出错。
重写模板包含文件的代码,增加了多种包含方式
<{include default/index/show.html}> :模板目录/子目录/文件
<{include public/view/common/head.html}> :从根目录开始的相对路径
包含文件支持使用几种路径常量:ROOT,APP,COMMON,VIEW,THEME,RES,PUB
例如:<{include THEME/index/show.html}>
U()函数第一个参数改为支持数组,例如:U(['index','show'],['id'=>10])
U()函数和配置项URL_MOD增加路由模式,例如:U('index/show',['id'=>10],2) 参数2指定路由模式
修改嵌套包含模板文件的一处bug。
修复自动验证create()方法的一处笔误。
I()函数增加过滤首尾空格。
修复db库 ifInsert() 方法执行完不清理数据的错误。
修复db库使用where(默认主键)时的一处错误。
修复数据模型多表的表名处理时多个空格的错误。
修复del_dir()删除多层目录时候,不删除子目录的问题
重写cookie()函数。
修复pathinfo模式下U()函数中存在参数值为空字符时候的错误。
修改make_dir()函数,调整S()函数。
优化display()参数:
1):绝对路径,
2):文件名或方法名,
3):控制器名/文件名或方法名,
4):模板目录名/控制器名/文件名或方法名,
5):应用名/模板目录名/控制器名/文件名或方法名,
6):从ROOT开始写的模板文件路径(例如:home/view/default/index/index.html )
自动验证 create($data,$type,$roles)增加规则参数
优化db类:增加MySql重连机制。
修复上传类set参数失效问题。
增加默认的命名空间映射 m=>APP/model/,common=>COMMON/model/,lib=>COMMON/lib/
修复PDO数据写入的一处错误。
修复自动验证(验证唯一)的一处错误。
1:调整获取加载文件的方法。
2:debug增加常量信息。
3:functions.php调整load函数。
4:调整debug样式。
5:修改自动验证为默认 某字段验证失败就返回 (模型中通过定义$this->returnMod设置返回时机,0:全部验证完返回,1:默认某字段失败就返回,2:某条规则失败就返回)
1:调整view.class.php非debug模式下不在检查模板包含文件是否更新, 如果你修改了模板的包含文件需要手动删除rundir下的应用目录以便重新生成模板编译文件。
2:调整view.class.php模板包含支持<{include header.html}>和<{include admin/common/header.html}> (admin为其它应用的APP_PATH),并且支持绝对路径的文件包含。
3:控制器增加 _404()方法,非debug模式下访问未定义的控制器和操作将会执行此方法。
修复自动验证(验证唯一)的一处错误。
发布2.0版本。