我想更新MVC应用程序中的全局变量。我通过我的全局变量$foo
传递信息,但由于某种原因,我没有更新functions
class
的某个数据
如何在我的函数中更新$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);
}
}
即使我尝试将值更新为10
20
答案 0 :(得分:1)
我不确定你在这里做什么......但这很有效。
class Main extends CI_Controller {
private $foo;
public function __construct() {
parent::__construct();
$this->foo = 10;
}
public function index() {
// some code here
$this->foo = 20;
echo $this->foo; // The result is 20 as set.
}
// hard coded the setter var name for demonstration purposes only
public function set_foo($foo){
$this->foo = $foo;
}
// hard coded the getter var name for demonstration purposes only
public function get_foo(){
return $this->foo;
}
}
$ foo是该类的“属性”,它可以被所有成员“方法”访问。你提到它并不是一个GLOBAL。一切都可以访问GLOBALS。