天天看点

onethink 1.0 框架升级ThinkPHP3.2.3后的问题解决

onethink1.0使用的是ThinkPHP3.2.0,ThinkPHP3.2.3升级后接口有变化。需要修改onethink1.0三个文件才可以运行。

1. Application\Common\Conf\tags.php

增加Behavior

<?php
return array(
	'app_init'=>array('Common\Behavior\InitHookBehavior')
);
           

2. Application\Common\Behavior\InitHookBehavior.class.php

修改Hook::add这一句

if($data){
            $addons = array_intersect($names, $data);
            Hook::add($key,array_map('get_addon_class',$addons));
}
           

3. Application\Admin\Controller\AdminController.class.php

修改lists函数,对$REQUEST里的onethink_admin___forward__加上处理

protected function lists ($model,$where=array(),$order='',$field=true){
        $options    =   array();
        $REQUEST    =   (array)I('request.');
        $REQUEST["onethink_admin___forward__"] = urlencode($REQUEST["onethink_admin___forward__"] );
           

前两个是由于ThinkPHP\Library\Think\Hook.class.php里的exec改变引起的,第三个引起分页问题,原因未知

注:最新的onethink支持thinkphp3.2.3 https://github.com/liu21st/onethink

继续阅读