class Index extends CI_Controller {
 private $data = array();
 private $content_data = array();
 public function __construct() {
    parent::__construct();
    if (isset($_GET['m2w'])) {
        $stw = switch_to_web();
    }
    if (isset($_GET['w2m'])) {
        $stm = switch_to_mobile();
    }
     // load mobile or desktop view
}
 // Called within an helper function 
function switch_to_web() {
  return set_cookie('load-web', 'true', '86500');
 }
function switch_to_mobile() {
  return delete_cookie('load-web');
}
function is_mobile() {
// return true;
$CI = & get_instance();
if ($CI->input->cookie('load-web'))
    return false;
$CI->load->library('user_agent');
if ($CI->agent->is_mobile()) {
    return true;
}else
    return false;
}
我有上面的代码块来确定是加载移动视图还是网络视图。
预期执行顺序:
- 如果设置了 m2w,则设置 load-web cookie(这是在调用 is_mobile 函数之前完成的
 - is_mobile 函数看到 load-web cookie 已设置并加载桌面版本
 
实际执行顺序:
- 如果设置了 m2w,则调用 load-web cookie 进行设置,但是 is_mobile 函数没有将其视为已设置,因此未加载桌面版本
 - 在 is_mobile 函数返回 true 后设置 cookie,我检查我的浏览器 cookie 并观察到 cookie 实际设置但未按预期设置
 
我做错了什么?