controllers/[admin]/
, controllers/[shell]/
, controllers/[system]/
分别移动到了controllers-admin/
, controllers-shell/
, controllers-system/
目录,请将你自己相应的这些控制器移动过去检查调整自己的项目和类库的部分代码写法:
Core::$include_path
或 Bootstrap::$include_path
将返回的是一个2维结构,请改为 Core::include_path() 来获取,将返回一个一维的等同于v2中那样的路径数组Core::load_controller()
来加载后才可以。比如test_abc.contoller.php 文件里的控制器类名称为 Controller_Test_Abc
这个在v3系统里它推荐的保存路径应该是控制器目录的test目录的abc.controller.php 文件,如果用autoload的功能是无法找到的,那么就需要先Core::load_controller('test_abc')
来include这个文件Controller_abc__test
,v2中test前是双下滑线,v3中只需要单下划线,即应该改为:Controller_abc_test
project/default/config.php
文件,写法和v2一样,支持多维如果您代码有扩展过系统类库的类,Model,控制器等,推荐这样修改: 例如原来是这样扩展
请修改成
EX_Database会自动扩展到 Core_Database(PHP5.3程序里是用的class_alias) 因为EX_开头的类库是用来被扩展的虚拟类库(V3新增),用于解决多级扩展的问题
Core::protocol()
的话注意,原来返回的是http或https,在v3中返回的是http://或https://,多了一个://Core::set_project($project)
,则需要改为 Core::change_project($project) 通过以上几步修改,你的项目代码基本上就可以运行在v3里了。
已使用RC版本开发的请按下面方法升级你的代码: 首先备份你的文件和数据库
移除libraries/目录下的MyQEE目录,将正式版的libraries/myqee目录复制进来 将libraries/bootstrap.php替换为正式版的libraries/bootstrap.php文件 config.php 参考 config.new.php 进行修改,特别是 $config['libraries'] 需要修改,正式版和RC版不一样
程序内的改动: 原来的Request重命名为HttpIO,并且将部分参数进行调整,具体为:
Request::$is_ajax => HttpIO::IS_AJAX
Request::$client_ip => HttpIO::IP
Request::$method => HttpIO::METHOD
Request::$user_agent => HttpIO::USER_AGENT
Request::$protocol => HttpIO::PROTOCOL
Request::$referrer => HttpIO::REFERRER
请做相应替换
原来的HttpGet已重命名为HttpClient,所以你需要把代码中HttpGet全部替换成HttpClient;
Core::import_library() 参数写法修改了,例如:以前是 Core::import_library('MyQEE/Test')
现在是 Core::import_library('com.myqee.test')
经过以上几步修改,基本上就可以正常工作了。如果仍旧有错误,请根据错误提示进行相应修改
更详细的修改请看CHANGELOG.md文件