Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CI全局变量_Php_Codeigniter_Global Variables - Fatal编程技术网

Php CI全局变量

Php CI全局变量,php,codeigniter,global-variables,Php,Codeigniter,Global Variables,我想要一个可以被任何控制器更改的全局变量。 在类中设置CI_控制器 在_构造中 好的,所有这些都可以从任何扩展CI的控制器上运行。 如果我在一个控制器中更改全局设置,它不会反映在另一个控制器中。IE$global['name']='Harry';将为该控制器保留Harry全局,但当我进入另一个控制器时,将返回George 我有点期待在任何控制器中改变全局的能力。 我错过了什么。 提前谢谢 -ralph如果需要动态数据,请使用会话或cookie。它比在php代码中处理静态数据灵活得多。但如果只想使

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

在_构造中

好的,所有这些都可以从任何扩展CI的控制器上运行。 如果我在一个控制器中更改全局设置,它不会反映在另一个控制器中。IE$global['name']='Harry';将为该控制器保留Harry全局,但当我进入另一个控制器时,将返回George

我有点期待在任何控制器中改变全局的能力。 我错过了什么。 提前谢谢


-ralph

如果需要动态数据,请使用会话或cookie。它比在php代码中处理静态数据灵活得多。但如果只想使用全局变量,请创建一些将更改变量数据的变量,并在构造方法中调用它。还可以阅读,也许它也会有用。

您可以在应用程序/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';
    }
}

仍然不起作用。我想向您展示代码,但编辑器将我限制为500个字符。我如何发布我的代码?@RalphPorter只需编辑您的原始问题并添加代码。谢谢,我也会研究一下。
class MY_Controller extends CI_Controller {
    public $global;
}
class Welcome extends MY_Controller {
    public function __construct() {
        parent::__construct();
        $this->global = 'something';
    }
}