Does anyone knows how to access the value of the public controller variable which has been updated by another function? code example Controller
class MyController extends CI_Controller {
public $variable = array();
function __construct() {
parent::__construct();
}
function index(){
$this->variable['name'] = "Sam";
$this->variable['age'] = 19;
}
function another_function(){
print_r($this->variable);
}
}
when i call another_function() i get an empty array.. What could be the problem? Any help will be apreciated..
you have to utilize the constructor, instead of index().
class MyController extends CI_Controller {
public $variable = array();
function __construct() {
parent::__construct();
$this->variable['name'] = "Sam";
$this->variable['age'] = 19;
}
function index(){
}
function another_function(){
print_r($this->variable);
}
}
If you want to call index()
, then call another_function()
, try using CI session class.
class MyController extends CI_Controller {
public $variable = array();
function __construct() {
parent::__construct();
$this->load->library('session');
if ($this->session->userdata('variable')) {
$this->variable = $this->session->userdata('variable');
}
}
function index(){
$this->variable['name'] = "Sam";
$this->variable['age'] = 19;
$this->session->set_userdata('variable', $this->variable);
}
function another_function(){
print_r($this->variable);
}
}