为了账号安全,请及时绑定邮箱和手机立即绑定

CI 全局变量

CI 全局变量

PHP
达令说 2021-10-08 13:14:07
我想要一个可以由任何控制器更改的全局变量。在class CI_Controller设置。    var $global在里面 __construct()    $this->global = array(            'account' => '1234567',            'name' => 'George',            'dob' => '08/20/1960'        );好的,这一切都适用于任何扩展CI. 如果我更改一个控制器中的全局变量,它不会反映在另一个控制器中。IE$global['name'] = 'Harry';会为那个控制器保持 Harry 全局,但当我进入另一个控制器时会恢复到 George。我有点期望能够在任何控制器中更改全局。我在这里错过了什么。提前致谢。
查看完整描述

2 回答

?
森林海

TA贡献2011条经验 获得超2个赞

如果您需要动态数据,请使用sessioncookies。它比您在 php 代码中处理静态数据要灵活得多。但是,如果您只想使用全局变量,请创建一些CodeIgniter Helper来更改变量数据并在 __construct() 方法中调用它。另请阅读CodeIgniter Hooks,也许它也会有用。


查看完整回答
反对 回复 2021-10-08
?
呼如林

TA贡献1798条经验 获得超3个赞

您可以创建一个核心控制器在MY_Controller内部调用它,application/core并且几乎可以让任何其他控制器扩展 my_controller 然后您可以访问此类中的每个变量:


class MY_Controller extends CI_Controller {

    public $global;

}

然后在任何其他控制器中:


class Welcome extends MY_Controller {

    public function __construct() {

        parent::__construct();

        $this->global = 'something';

    }

}


查看完整回答
反对 回复 2021-10-08
  • 2 回答
  • 0 关注
  • 216 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信