ThinkPHP 2.1 版的重点更新是在核心应用上的改造和效率方面的提升,主要体现在:
实用功能的机制加强
- URL 路由更贴近使用习惯
- 对比 2.0 版本,新的路由模式更体贴和应用更方便,同时在执行效率上也得到了更简洁而有效的处理。最重要的是定义路由将更简单和直接,并且可选择使用独立文件定义或是直接配置定义。具体变更参见《ThinkPHP 2.1 版本 URL 路由规则对比 2.0 版本的变更》。
- 分组模式细节上的完善,同时完美支持二级域名、泛域名解析
- 2.1 版本对分组模式完善了细节流程上的解析机制,增加了实用的常量定义和模板替换,同时添加了对二级域名的友好支持,对项目部署提供了更多方便。
- 模板引擎质与效的改进
- ThinkPHP 内置模板引擎舍弃了原来xml模式的解析,直接改由类属性进行定义标签,既减少了文件加载,提升了解析效率,在自定义标签和标签扩展上,也更加简单和方便了。
更加强大的应用接口
- 允许项目指定编译缓存文件定义
- 系统函数库 functions 列入核心编译文件,不再默认绑定到核心编译
- 以上两项更新虽微,但实际上意义非凡,对于多项目多应用同时布署架构时会起到非常重要的作用,核心的自由度更宽更广了。
- 改进 tag 函数,插件机制可以直接定义要执行的行为
- 项目初始化提供新的可自定义的部署模式
- 允许自定义项目首次运行时的访问处理方式,系统由原来的简单成功提示,改为探针模式友好提示,对于使用 ThinkPHP 部署的项目,在初始运行时将方便地提供服务器相关信息,对是否支持 ThinkPHP 运行环境进行探测并报告和提出建议。
更多的应用接口支持
- 提供 AMF 模式支持
- 提供 PhpRPC 模式(感谢vanvvdot提供扩展)
- lite 模式增强,支持使用内置模板引擎
新增的细节处理
- 数据插入时允许进行更新操作。
- 提供了更简洁的连贯操作方式的数据库切换。
- include 标签优化。
- 新增模板常量、变量定义等实用标签。
熟悉的功能恢复
- Images 图像类恢复图片水印支持
- Model 类恢复批量插入数据的 addAll 方法
核心的优化与完善
- 优化项目核心运行进程细节,去掉不常用功能。
- 优化系统进程统计处理,提供G函数可进行记录和统计。
- 完善了视图类。
- 完善了多语言在各服务器环境下的兼容性统一。
- 完善了RelationModel方法兼容问题。
- 完善了序列化字段处理。
- 完善了数据编辑的时候唯一检测的验证。
其它更新提要
- 增加是否记录异常信息日志开关 LOG_EXCEPTION_RECORD。
- 去除了原 svn 上的二级域名支持。
- 去除了原 svn 上的前后置判断处理。
- 去除了个别不通用功能和配置。
- 去除了URL重定向处理,减少HTTP请求的同时,也避免了因此带来的一些错误。
- 对于以上已去除的功能开关不再生效。