最全的ThinkPHP 3.0 功能特性和更新说明

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ThinkPHP 3.0 功能特性和更新说明

ThinkPHP新版特性概述:

全新的CBD(核心+行为+驱动)架构模式,打造DIY框架和类AOP编程体验;

全新改进的项目编译机制,更快更方便,并且支持编译文件直接作为入口载入,并且支持常量外部载入,利于产品发布;

调试模式更易用,可以设置不同的项目状态并自动加载对应不同的项目配置文件,并且详细记录行为执行日志;

路由的增强更加灵活支持新的规则路由,改进正则路由,并改进定义方式;

内部导入机制和自动加载机制优化全面提升import A D R等方法的性能;

URL模式简化,兼容URL地址优先判断;

查询语言进一步增强,query和execute方法增强支持连贯操作和SQL解析;

模板引擎性能提升,PHP语法检测,include用法改进支持变量传输;

全新的布局模板实现,支持布局嵌套;

实现了扩展和驱动的完全分离,并且驱动集中管理;

AJAX返回数据支持扩展,提供更好的AJAX支持;

更强大和易用的模式扩展;

U函数重新设计;

去除Think基类设计,Think重新设计为入口类和静态类;

增加MongoDb支持;

增加REST模式,提供RESTFul支持;

增加SAE模式扩展提供新浪SAE部署和本地调试支持;

增加自动验证规则;

动态配置文件和函数文件支持;

ThinkPHP 3.0 更新说明

[入口文件和编译]

[新增] 调试模式增加不同的应用状态自动加载不同的项目配置文件

[新增] 入口文件增加RUNTIME_FILE常量定义

[调整] THINK_PATH 和APP_PATH 常量定义最后必须是/ 结束

[调整] 调试模式设置改为在入口文件中使用APP_DEBUG常量

[调整] 默认调试模式配置调整默认情况下不开启运行信息和页面Trace信息

[改进] 部署模式和原ALLINONE模式合并最终只生成一个项目编译缓存文件

[改进] runtime自动生成和目录检测优化

[改进] 核心编译生成文件支持常量分离到单独的文件外部加载

[改进] CORE_PATH TMPL_PATH HTML_PATH EXTEND_PATH MODE_PATH VENDOR_PATH常量可以在入口重新定义

[改进] 部署编译生成新的入口文件可以用于替换入口

[改进] 支持自定义编译缓存文件名可以在入口文件增加常量RUNTIME_FILE 默认位置不变

[改进] 调试模式切换删除编译缓存便于调试后直接切换到部署模式

[删除] 废除入口文件中的APP_CACHE_NAME、NO_CACHE_RUNTIME、RUNTIME_ALLINONE、STRIP_RUNTIME_SPACE常量定义

[删除] 去掉入口文件中的App::run() 代码

[配置]

新版的惯例配置中去掉了行为才需要使用的配置项

部分惯例配置参数移动到行为扩展中

所以我们建议

[新增] 增加APP_STATUS 参数用于调试模式下面设置不同的应用状态自动加载不同的项目配置文件

[新增] 增加TMPL_LAYOUT_ITEM 参数,用于配置布局内容替换标识默认是

{__CONTENT__}

[新增] 增加LOAD_EXT_FILE和LOAD_EXT_CONFIG参数,用于动态加载外部文件和配置文件

[新增] 增加APP_TAGS_ON参数用于设置是否开启系统行为扩展,默认开启

[新增] 新增DB_SQL_BUILD_CACHE和DB_SQL_BUILD_LENGTH 参数用于sql缓存

[新增] 增加DB_MASTER_NUM参数用于设置主(写)服务器数量

[新增] 增加MEMCACHE_HOST和MEMCACHE_PORT配置

[新增] 增加LANG_LIST参数,用于设置允许切换的语言列表,用逗号分隔

[新增] 增加TMPL_DENY_PHP参数,用于设置模板是否禁用PHP代码

[新增] 增加DEFAULT_FILTER参数,用于设置默认的参数过滤方法

[新增] 增加VAR_SESSION_ID参数,用户可以指定session_id

[新增] 增加SHOW_LOAD_FILE 参数,用于控制是否显示加载文件数

[新增] 增加TOKEN_RESET参数,用于设置令牌错误后是否重置默认为true

[新增] 惯例配置添加APP_SUB_DOMAIN_RULES和APP_SUB_DOMAIN_DENY 默认设置

[调整] 当前模板主题名配置TEMPLATE_NAME更改为THEME_NAME

[调整] 当前扩展名称的定义THINK_MODE 更改为MODE_NAME

[调整] APP_CONFIG_LIST配置参数改为字符串方式,用逗号分隔

[调整] LOG_RECORD_LEVEL 配置参数改为字符串方式,用逗号分隔

[调整] 数据库端口设置DB_PORT默认为空

[调整] TMPL_ACTION_ERROR和TMPL_ACTION_SUCCESS默认采用内置的错误提示模板

[调整] TMPL_STRIP_SPACE 默认为true

[调整] APP_AUTOLOAD_PATH参数设置最后不需要加. 例如ORG.Util 原先为ORG.Util.

[删除] 删除原调试模式配置参数APP_DEBUG 改为常量定义

[删除] 删除APP_GROUP_DEPR 参数

[删除] 删除APP_CONFIG_LIST 参数

[删除] 删除APP_PLUGIN_ON参数

[删除] 删除APP_AUTOLOAD_REG参数

[删除] 删除APP_DOMAIN_DEPLOY参数只需要设置APP_NAME 为空即可

[删除] 删除URL_PATHINFO_MODEL参数只保留原来的智能模式

[删除] 惯例配置中去掉VAR_PAGE定义

[删除] 取消模块配置文件

[删除] 取消taglibs.php(标签库定义) 标签库会自动加载

[删除] 取消modules.php(扩展模块), actions.php(扩展操作)

[控制器]

[新增] 增加_get _post _put _request _session _cookie _server _globals方法并支持参数过滤和默认值,例如:$this->_post('name','h'); 等效于

h($_POST['name']); $this->_get('id','intval',0); 等效于intval($_GET['id']) 如果没有传入过滤方法则采用惯例配置默认配置的方法由DEFAULT_FILTER设置(默认为htmlspecialchars)因此$this->post('name'); 等效于

htmlspecialchars($_POST['name']);

[新增] 增加__hack_module 方法支持

[新增] 增加规则路由支持

[新增] 增加全新的静态缓存机制,无需定义任何静态缓存规则

[新增] 增加$_GET[1] $_GET[2]用法支持

[修正] 修正Action类的display方法配置TMPL_CONTENT_TYPE参数无效的bug [修正] 修正分组模块不存在自动加载上层模块的bug

[改进] 完善正则路由支持

[改进] U函数支持路由定义例如U('/cate/3') 以/开头的地址定义表示是路由不再解析为模块和操作

[改进] 模块和操作不存在发送404状态信息

[改进] 改进兼容模式的判断优先判断兼容模式URL

[改进] 分组目录的Action类也支持自动加载并且优先

[改进] A方法格式调整为: [项目://][分组/]模块

[改进] R方法格式为:[项目://][分组/]模块/操作

相关文档
最新文档