Php 从Codeigniter中的其他函数调用构造函数中的变量
我有下面的代码Php 从Codeigniter中的其他函数调用构造函数中的变量,php,codeigniter,Php,Codeigniter,我有下面的代码 public fucntion __construct(){ parent::__construct(); if($this->session->userdata('logged_in')) { $session_data = $this->session->userdata('logged_in'); $data['staff_no'] = $session_data['staff_no']; $data['
public fucntion __construct(){
parent::__construct();
if($this->session->userdata('logged_in'))
{
$session_data = $this->session->userdata('logged_in');
$data['staff_no'] = $session_data['staff_no'];
$data['staff_email'] = $session_data['staff_email'];
$data['staff_fname'] = $session_data['staff_fname'];
$data['staff_lname'] = $session_data['staff_lname'];
$data['staff_level'] = $session_data['staff_level'];
}
else
{
redirect('login','refresh');
}
现在,我在下面有另一个函数
public function index()
{
$staff_no=$this->staff_no;
$this->load->view('header');
$this->load->view('accounts/left-nav');
$this->load->view('accounts/top-nav');
$this->load->view('accounts/home');
$this->load->view('footer',$staff_no);
}
$staff\u no上述变量用于获取$data['staff\u no']=$session\u data['staff\u no']位于构造函数中,但将错误作为未定义变量staff\u no
请帮助您还没有定义
$this->staff\u no
,您已经在构造函数中设置了一个局部变量$data['staff\u no']
如果要在类的其他方法中访问变量,则需要将其存储在属性中:
建造商:
$this->staff_no = $session_data['staff_no'];
索引函数是同一类的成员吗?是的。而且,谢谢…下面的答案由MrCode计算出来了。你应该把它标记为已接受的答案,这样它就被标记为已解决。谢谢你,兄弟。虽然我不得不改变从索引函数调用它的方式$staff\u no=$This->staff\u no;至$staff\u no['staff\u no']=$this->staff\u no;