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