ThinkPHP3.0 升级指导版权申明
发布本资料须遵守开放出版许可协议 1.0 或者更新版本。
未经版权所有者明确授权,禁止发行本文档及其被实质上修改的版本。
未经版权所有者事先授权,禁止将此作品及其衍生作品以标准(纸质)书籍形式发行。
如果有兴趣再发行或再版本手册的全部或部分内容,不论修改过与否,或者有任何问题,请联系版权所有者 liu21st@gmail。
对ThinkPHP有任何疑问或者建议,请进入官方论坛 [ bbs.thinkphp ] 发布相关讨论。并在此感谢ThinkPHP团队的所有成员和所有关注和支持ThinkPHP的朋友。
有关ThinkPHP项目及本文档的最新资料,请及时访问ThinkPHP项目主站thinkphp。
本文档及其描述的内容受有关法律的版权保护,对本文档内容的任何形式的非法复制,泄露或散布,将导致相应的法律责任。
php实例手册ThinkPHP3.0升级指导手册
目录
1升级须知3
2升级指导4 2.1准备工作 (4)
2.2入口文件 (4)
2.3目录结构 (5)
2.4配置文件 (5)
2.5路由定义 (6)
2.6控制器 (7)
2.7模型 (8)
2.8模板 (8)
2.9常量 (9)
1升级须知
3.0版本要求PHP的版本5.2.0以上如果低于该版本,将无法升级;
本升级指导用于指导开发人员从2.1版本升级到3.0版本;
如果你的项目对框架核心进行过较大的改动的话不建议升级;
本指导手册不确保你的项目顺利升级和对因此带来的任何后果负责;
升级项目之前请做好各项备份工作。
2升级指导
2.1准备工作
首先获取3.0最新完整版本(为了确保你的升级顺利,请先不要对完整版本做任何删减),如果是通过SVN下载的,请把Extend目录覆盖ThinkPHP框架目录下面的Extend空目录 备份你的项目文件(包括ThinkPHP系统目录)
删除项目的Runtime目录
现有的ThinkPHP系统目录更名为ThinkPHP2
把3.0的ThinkPHP目录放入原来的项目对应位置
2.2入口文件
首先检查你的入口文件,注意如下变更:
如果你在入口文件中定义了THINK_PATH和APP_PATH的话,请在路径最后加上“/”;
如果你的项目目录位于网站的根目录(即项目的Lib目录位于网站根目录下面),定义APP_NAME为空字符串;
升级过程中建议在入口文件中添加 define('APP_DEBUG',TRUE); 开启调试模式,升级完成后可以关闭调试模式;
如果在入口文件中定义了APP_CACHE_NAME、NO_CACHE_RUNTIME、
RUNTIME_ALLINONE、STRIP_RUNTIME_SPACE常量定义代码则删除,这些常量已经废
弃;
如果你使用了模式扩展,把THINK_MODE常量定义改为MODE_NAME;
去掉入口文件中的App::run()代码,新版不再需要;
2.3目录结构
根据下面的情况检查你的目录结构是否需要调整:
如果项目自定义了框架的目录名称或者路径,参考你的入口文件中的路径定义进行相关修改;
如果项目启用了分组,模板目录下面的模板主题目录需要移动到分组目录下面,例如原来的目录结构是 Tpl/主题/分组/ 改成 Tpl/分组/主题/ ,其中主题名默认为default;
2.4配置文件
配置文件涉及到项目配置文件、分组配置文件和调试配置文件:
添加DEFAULT_THEME参数,设置为你当前使用的模板主题名称,一般情况下应该是default  如果项目之前采用了模块配置文件的话,请并入分组配置文件或者项目配置文件;
如果项目自定义了页面跳转模板,需要修改TMPL_ACTION_ERROR和
TMPL_ACTION_SUCCESS配置参数为你之前的定义;
如果项目自定义了异常页面模板,需要修改TMPL_EXCEPTION_FILE参数为你之前的定义,并拷贝你之前的页面模板文件到相应位置;
如果项目自定义了页面Trace模板,需要修改TMPL_TRACE_FILE参数为你之前的定义,并拷贝你之前的页面模板文件到相应位置;
由于原来的Think.Util类库包已经并入ORG.Util类库包,因此系统关闭了原来的自动加载路径,如果你使用了原来的Session或者Cookie类,升级的时候需要添加项目配置
'APP_AUTOLOAD_PATH'=>'ORG.Util',如果有自定义了其他的自动加载路径,也需要加
上,注意原来的设置参数去掉最后的“.”,例如 @.Util. 改为@.Util;
如果自定义了LOG_RECORD_LEVEL参数,修改为LOG_LEVEL,并且值改为字符串方式,多个用逗号分隔;
下面这些配置参数不再使用,如果有定义,可以删除或者注释:
⏹APP_GROUP_DEPR
⏹APP_CONFIG_LIST
⏹APP_PLUGIN_ON
⏹APP_AUTOLOAD_REG
⏹APP_DOMAIN_DEPLOY
⏹URL_PATHINFO_MODEL
2.5路由定义
新版的路由定义规则改变,如果项目启用了路由请参考下面的路由规则进行调整:
取消路由配置文件routes.php改为配置参数URL_ROUTE_RULES定义;
路由路由定义规范更改如下:
1、正则路由
'路由正则'=>'[分组/模块/操作]?参数1=值1&参数2=值2...'

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。