CI 全局变量



我想要一个可以被任何控制器更改的全局变量。在class CI_Controller设置。

    var $global

__construct()

    $this->global = array(
            'account' => '1234567',
            'name' => 'George',
            'dob' => '08/20/1960'
        );

好的,这一切都适用于任何扩展CI的控制器。如果我在一个控制器中更改全局,它不会反映在另一个控制器中。IE $global['name'] = 'Harry'; 将使 Harry 成为该控制器的全局,但当我进入另一个控制器时,将恢复为 George。

我有点期望能够在任何控制器中更改全局。我在这里错过了什么。提前谢谢。

-拉尔夫

如果您需要动态数据,请使用会话Cookie。它比你在 php 代码中处理静态数据要灵活得多。但是,如果您只想使用全局变量,请创建一些 CodeIgniter 帮助程序,它将更改变量数据并在 __construct(( 方法中调用它。另请阅读有关CodeIgniter Hooks的信息,也许它也很有用。

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

class MY_Controller extends CI_Controller {
    public $global;
}

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

class Welcome extends MY_Controller {
    public function __construct() {
        parent::__construct();
        $this->global = 'something';
    }
}

相关内容

  • 没有找到相关文章

最新更新