admin 管理员组文章数量: 1086019
2024年3月5日发(作者:flex布局默认换行吗)
ThinkPHP3.0RC2 升级指导
版权申明
发布本资料须遵守开放出版许可协议 1.0 或者更新版本。
未经版权所有者明确授权,禁止发行本文档及其被实质上修改的版本。
未经版权所有者事先授权,禁止将此作品及其衍生作品以标准(纸质)书籍形式发行。
如果有兴趣再发行或再版本手册的全部或部分内容,不论修改过与否,或者有任何问题,请联系版权所有者 liu21st@。
对ThinkPHP有任何疑问或者建议,请进入官方论坛 [ ] 发布相关讨论。并在此感谢ThinkPHP团队的所有成员和所有关注和支持ThinkPHP的朋友。
有关ThinkPHP项目及本文档的最新资料,请及时访问ThinkPHP项目主站 。
本文档及其描述的内容受有关法律的版权保护,对本文档内容的任何形式的非法复制,泄露或散布,将导致相应的法律责任。
ThinkPHP2.1完全开发手册
目 录
1
2
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
升级须知
升级指导
3
4
准备工作................................................................................................................................................................................. 4
入口文件................................................................................................................................................................................. 4
目录结构................................................................................................................................................................................. 5
配置文件................................................................................................................................................................................. 5
路由定义................................................................................................................................................................................. 6
控制器 ..................................................................................................................................................................................... 7
模型 .......................................................................................................................................................................................... 8
模板 .......................................................................................................................................................................................... 8
常量 .......................................................................................................................................................................................... 9
ThinkPHP文档小组 2012
2
1 升级须知
3.0版本要求PHP的版本5.2.0以上 如果低于该版本,将无法升级;
本升级指导用于指导开发人员从2.1版本升级到3.0RC2版本;
如果你的项目对框架核心进行过较大的改动的话不建议升级;
本指导手册不确保你的项目顺利升级和对因此带来的任何后果负责;
升级项目之前请做好各项备份工作。
ThinkPHP文档小组 2012
3
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常量定义代码则删除,这些常量已经废弃;
ThinkPHP文档小组 2012
4
如果你使用了模式扩展,把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参数为你之前的定义,并拷贝你之前的页面模板文件到相应位置;
ThinkPHP文档小组 2012
5
由于原来的类库包已经并入类库包,因此系统关闭了原来的自动加载路径,如果你使用了原来的Session或者Cookie类,升级的时候需要添加项目配置
'APP_AUTOLOAD_PATH'=>'',如果有自定义了其他的自动加载路径,也需要加上,注意原来的设置参数去掉最后的“.”,例如 @.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 路由定义
新版的路由定义规则改变,如果项目启用了路由请参考下面的路由规则进行调整:
取消路由配置文件改为配置参数URL_ROUTE_RULES定义;
路由路由定义规范更改如下:
1、正则路由
'路由正则'=>'[分组/模块/操作]?参数1=值1&参数2=值2...'
ThinkPHP文档小组 2012
6
'路由正则'=>array('[分组/模块/操作]','参数1=值1&参数2=值2...')
'路由正则'=>'外部地址' '路由正则'=>array('外部地址','重定向代码')
参数值和外部地址中可以用动态变量 采用 :1 :2 的方式
2、规则路由
'路由规则'=>'[分组/模块/操作]?额外参数1=值1&额外参数2=值2...'
'路由规则'=>array('[分组/模块/操作]','额外参数1=值1&额外参数2=值2...')
'路由规则'=>'外部地址' '路由规则'=>array('外部地址','重定向代码')
路由规则中 :开头 表示动态变量 外部地址中可以用动态变量 采用 :1 :2 的方式
路由规则加上变量的数字约束定义,例如: 'news/:id|d'=>'News/read'
规则路由可以支持 全动态和动静结合定义,
例如 ':user/blog/:id'=>array('Home/Blog/user')
2.6 控制器
如果你使用了操作链功能,请合并相关方法;
如果使用了跨分组和项目方式调用A方法,调用格式更改为:A(' [项目://][分组/]模块');
如果使用了R方法,调用格式更改为:R(' [项目://][分组/]模块/操作');
如果使用了跨分组和跨项目方式调用D方法的话,调用格式更改为:D(' [项目://][分组/]模型')
如果调用了Action的trace方法,改为调用trace函数;
ThinkPHP文档小组 2012
7
2.7 模型
模型的findall方法已经废除,请批量更改为select方法;
原来的tableSuffix属性已经废除,可以用trueTableName属性设置表全名替代;
如果使用了setField getField setInc setDec方法的话,去掉第二个条件参数,改为where连贯操作方法方式传人更新条件;
高级模型中的切换数据库方法已经废除,如果有使用请改为使用基础模型的db方法切换;
2.8 模板
模板输出方法display和fetch方法的规则调整为display(" [模板主题:][模块:][操作] ")和fetch("
[模板主题:][模块:][操作] ") ,不再支持跨项目和跨分组调用,该规则同样适用于模板中的include标签;
取消了模板变量的快捷输出,统一改成标准变量输出方式;
取消了iterate标签,改为volist即可;
取消了普通标签方式的include和load标签,以下用法不再支持 {include:public/}
{load:/public/css/} 替代用法 file="/public/css/" /> 如果使用了布局模板,请参考完全开发手册的8.23模板布局进行调整; 如果你定制了页面Trace模板,需要在Tpl/page_的基础上重新修改; ThinkPHP文档小组 2012 8 如果启用了表单令牌,并且设置了个别模板页面不开启令牌,需要删除模板中的{__NOTOKEN__}字符串 2.9 常量 下面的常量不再支持: WEB_PUBLIC_PATH 可以改成 __ROOT__.'/Public' 全部检查完成后,可以执行项目,并根据可能出现的异常信息和页面Trace显示进行调试,运行一起顺利后可以在入口文件关闭调试模式,预祝大家升级顺利! ThinkPHP文档小组 2012 9
版权声明:本文标题:ThinkPHP3.0 RC2升级指导手册 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1709637887a542350.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论