全局变量未在PHP Codeigniter中更新
I want to update a global variable in my MVC application. I'm passing information via my global variable $foo
but for some reason it is not updating the data in one of my functions
in the class
How can I update the value of $foo
inside my function?
My code:
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);
}
}
It is returning 10
even though I am trying to update the value to 20
我想更新MVC应用程序中的全局变量。 我通过我的全局变量 如何在函数中更新 我的代码: p> \ n
它正在返回 $ foo code>传递信息但由于某种原因它没有更新
类 code>中的
functions code>中的一个数据 p>
$ foo code>的值? p>
类示例扩展CI_Controller {
private $ foo;
公共函数__construct(){
parent :: __ construct();
$ this-> foo = 10;
}
公共函数索引(){
//这里的一些代码
$ this-> foo = 20;
$ data ['main_content'] ='login_form';
$ this-> load-> view('includes / template',$ data);
}
if($ this-> input-> post()){
error_log($ this-) > foo);
}
}
code> pre>
10 code>,即使我正在尝试将值更新为 20 code> p>
div>
I'm not sure what you are doing here... but this works.
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 is a "property" of the class which IS accessible to all of it's member "methods". It isn't a GLOBAL as you refer to it. GLOBALS are accessible to everything.