【发布时间】:2016-10-09 21:49:50
【问题描述】:
我想在我的 MVC 应用程序中更新一个全局变量。我正在通过我的全局变量$foo 传递信息,但由于某种原因,它没有更新class 中的functions 之一中的数据
如何在我的函数中更新$foo 的值?
我的代码:
class example extends CI_Controller {
private $foo;
public function __construct() {
parent::__construct();
$this->foo = 10;
}
public function index() {
// some code here
$this->foo = 20;
$data['main_content'] = 'login_form';
$this->load->view('includes/template', $data);
}
if($this->input->post()) {
error_log($this->foo);
}
}
即使我尝试将值更新为 20,它仍在返回 10
【问题讨论】:
-
您的问题是设置还是在配置文件或配置项中分配此变量?这样做您可以在所有控制器、模块、视图中轻松访问它
-
我计划将
foo设置为等于index()函数@Franco 内的另一个变量 -
您的代码中没有全局变量。
-
无论你想在哪里做这件事都没有关系。我想说的是,如果您使用配置项代替此全局变量,则可以轻松操作它,并且可以在任何地方使用它。
-
将
if($this->input->post())代码移动到index()方法中,这样您就可以真正看到正确的输出。正如@zerkms 所说,$foo不是全局变量,而是类属性。
标签: php function codeigniter model-view-controller global-variables