全局变量未在PHP Codeigniter中更新

时间:2016-10-09 21:49:51

标签: php function codeigniter model-view-controller global-variables

我想更新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

1 个答案:

答案 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。