在本站准备用二级域名做品牌外文站,且通过海外CDN进行解析的时候,遇到了添加域名提示“指定的域名已经绑定过”的提示,那么…
网站建设框架ThinkPHP使用规范
规范:遵循PSR-2、PSR-4规范,Composer及单元测试支持;
严谨:异常严谨的错误检测和安全机制,详细的日志信息,为你的开发保驾护航;
灵活:减少核心依赖,扩展更灵活、方便,支持命令行指令扩展;
API友好:出色的性能和REST支持、远程调试,更好的支持API开发;
高效:惰性加载,及路由、配置和自动加载的缓存机制;
ORM:重构的数据库、模型及关联,MongoDb支持;
————————————————————–
严谨:异常严谨的错误检测和安全机制,详细的日志信息,为你的开发保驾护航;
灵活:减少核心依赖,扩展更灵活、方便,支持命令行指令扩展;
API友好:出色的性能和REST支持、远程调试,更好的支持API开发;
高效:惰性加载,及路由、配置和自动加载的缓存机制;
ORM:重构的数据库、模型及关联,MongoDb支持;
————————————————————–
相对于RC4版本,主要更新如下:
请求和路由:
- Request对象支持动态绑定属性
- 定义了路由规则的URL原地址禁止访问
- 改进路由规则存储结构
- 路由分组功能增强,支持嵌套和虚拟分组
- 路由URL高效反解
- 改进Request对象param方法获取优先级
- 路由增加name方法设置和获取路由标识
- 增加MISS和AUTO路由规则
- Route类增加auto方法 支持注册一个自动解析URL的路由
- 路由规则支持模型绑定
- 路由变量统一使用param方法获取
- 路由规则标识功能和自动标识
- 增加生成路由缓存指令 optimize:route
- Request对象增加route方法单独获取路由变量
- Request对象的param get post put request delete server cookie env方法的第一个参数传入false 则表示获取原始数据 不进行过滤
- 改进自动路由标识生成 支持不同的路由规则 指向同一个路由标识,改进Url自动生成对路由标识的支持
- 改进Request类 filter属性的初始化
- 改进Request类的isAjax和isPjax方法
- Request类增加token方法
- 路由配置文件支持多个 使用 route_config_file 配置参数配置
- 域名绑定支持https检测
- 改进域名绑定 支持同时绑定模块和其他 支持绑定到数组定义的路由规则,取消域名绑定到分组
- 路由规则增加PATCH请求类型支持
- 增加route_complete_match配置参数设置全局路由规则定义是否采用完整匹配 可以由路由规则的参数complete_match 进行覆盖
- 改进路由的 后缀参数识别 优先于系统的伪静态后缀参数
- Url类增加root方法用于指定当前root地址(不含域名)
- 改进Url生成对可选参数的支持
数据库:
- 查询条件自动参数绑定
- 改进分页方法支持参数绑定
- Query类的cache方法增加缓存标签参数
- Query类的update和delete方法支持调用cache方法 会自动清除指定key的缓存 配合查询方法的cache方法一起使用
- 改进Query类的延迟写入方法
- Query类的column和value方法支持fetchsql
- 改进日期查询方法
- 改进存储过程方法exec的支持
- 改进Connection类的getLastInsID方法获取
- 记录数据库的连接日志(连接时间和DSN)
- 改进Query类的select方法的返回结果集判断
- Connection类增加getNumRows方法
- 数据库事务方法取消返回值
- 改进Query类的chunk方法对主键的获取
- 改进当数据库驱动类型使用完整命名空间的时候 Query类的builder方法的问题
模型:
- 增加软删除功能
- 关联模型和预载入改进
- 关联预载入查询闭包支持更多的连贯操作
- 完善savell方法支持更新和验证
- 关联定义统一返回Relation类
- Model类的has和hasWhere方法对join类型的支持
- Model类的data方法 批量赋值数据的时候 清空原始数据
- Model类的get方法第三个参数传入true的时候会自动更新缓存
- Model类增加只读字段支持
- Model类增加useGlobalScope方法设置是否启用全局查询范围
- Model类的base方法改为静态定义 全局多次调用有效
- Model类支持设定主键、字段信息和字段类型,不依赖自动获取,提高性能
- Model类的data方法 支持修改器
- 改进Relation类对非数字类型主键的支持
- 改进Relation类的一对多删除
日志和缓存:
- 支持日志类型分离存储
- 日志允许设置记录级别
- 增加缓存标签功能
- 缓存类增加pull方法用于获取并删除
- cache助手函数增加tag参数
- 简化日志信息,隐藏数据库密码
- 增加cache/session redis驱动的库选择逻辑;
- memcached驱动的配置参数支持option参数
- 调试模式下面 日志记录增加页面的header和param参数记录
- memcached缓存驱动增加连接账号密码参数
- 缓存支持设置complex类型 支持配置多种缓存并用store切换
- 缓存类增加tag方法 用于缓存标签设置 clear方法支持清除某个缓存标签的数据
- File类型日志驱动支持设置单独文件记录不同的日志级别
- 改进文件缓存和日志的存储文件名命名规范
- 缓存类增加inc和dec方法 针对数值型数据提供自增和自减操作
- Cache类增加has方法 get方法支持默认值
其他:
- 视图类支持设置模板引擎参数
- 增加表单令牌生成和验证
- 增加中文验证规则
- 增加image和文件相关验证规则
- 重定向Response对象支持with方法隐含传参
- 改进Session类自动初始化
- session类增加pull方法用于获取并删除
- 增加Env类用于获取环境变量
- Request类get/post/put等更改赋值后param方法依然有效
- 改进Jump跳转地址支持Url::build 解析
- 优化Hook类
- 应用调试模式和页面trace支持环境变量设置
- config助手函数支持 config(‘?name’) 用法
- 支持使用BIND_MODULE常量的方式绑定模块
- 入口文件自动绑定模块功能
- 改进验证异常类的错误信息和模板输出,支持批量验证的错误信息抛出
- 完善console 增加output一些常用的方法
- 增加token助手函数 用于在页面快速显示令牌
- 增加halt方法用于变量调试并中断输出
- 改进Validate类的number验证规则 和 integer区分开
- optimize:autoload增加对extend扩展目录的扫描
- 改进Validate类的boolean验证规则 支持表单数据
- 改进cookie助手函数支持 判断是否存在某个cookie值
- 改进abort助手函数 支持抛出HttpResponseException异常
- 改进File类增加对上传错误的处理
- 改进File类move方法的返回对象增加上传表单信息,增加获取文件散列值的方法
- 改进File类的move方法的返回对象改为返回File对象实例
- 增加clear和optimize:config 指令
- 改进File类和Validate类的图像文件类型验证
- 控制器的操作方法支持注入Request之外的对象实例
- Request类 param(true) 支持获取带文件的数据
- input助手函数第一个参数增加默认值
- Validate类增加image验证规则 并改进max min length支持多种数据类型
- json输出时数据编码失败后抛出异常