所有控制器方法中都可用的变量?代码点火器 3
Variable available in all controller method? Codeigniter 3
在我的控制器中:
class Admin extends CI_Controller
{
public function dodaj()
{
$data['stanowiska'] = array(
'admin' => 'Administrator',
'ksiegowy' => 'Księgowy',
'glowny_ksiegowy' => 'Główny księgowy'
);
$this->load->view('dodaj', $data);
}
function edytuj()
{
$data['stanowiska'] = array(
'admin' => 'Administrator',
'ksiegowy' => 'Księgowy',
'glowny_ksiegowy' => 'Główny księgowy'
);
$this->load->view('edytuj_uzytkownika', $data);
}
}
有两个变量 $data['stanowiska'] 一切正常,但我只需要一个这样的变量。当我使用这个时:
public function __construct()
{
parent::__construct();
$data['stanowiska'] = array(
'admin' => 'Administrator',
'ksiegowy' => 'Księgowy',
'glowny_ksiegowy' => 'Główny księgowy'
);
}
我收到这条消息:
遇到了一个PHP错误
严重性:通知
消息:未定义的变量:stanowiska
我应该怎么做才能解决这个问题?谢谢 :D
当您尝试在其他方法中使用 __construct()
方法中的 属性 时,您必须使用 $this
关键字。正确的方法是:
class Admin extends CI_Controller
{
public $data = []; //array initialization
public function __construct()
{
parent::__construct();
$this->data['stanowiska'] = array(
'admin' => 'Administrator',
'ksiegowy' => 'Księgowy',
'glowny_ksiegowy' => 'Główny księgowy'
);
}
public function dodaj()
{
$this->load->view('dodaj', $this->data);// using data array from constructor
}
public function edytuj()
{
$this->load->view('edytuj_uzytkownika', $this->data);// same here
}
}
在我的控制器中:
class Admin extends CI_Controller
{
public function dodaj()
{
$data['stanowiska'] = array(
'admin' => 'Administrator',
'ksiegowy' => 'Księgowy',
'glowny_ksiegowy' => 'Główny księgowy'
);
$this->load->view('dodaj', $data);
}
function edytuj()
{
$data['stanowiska'] = array(
'admin' => 'Administrator',
'ksiegowy' => 'Księgowy',
'glowny_ksiegowy' => 'Główny księgowy'
);
$this->load->view('edytuj_uzytkownika', $data);
}
}
有两个变量 $data['stanowiska'] 一切正常,但我只需要一个这样的变量。当我使用这个时:
public function __construct()
{
parent::__construct();
$data['stanowiska'] = array(
'admin' => 'Administrator',
'ksiegowy' => 'Księgowy',
'glowny_ksiegowy' => 'Główny księgowy'
);
}
我收到这条消息:
遇到了一个PHP错误
严重性:通知
消息:未定义的变量:stanowiska
我应该怎么做才能解决这个问题?谢谢 :D
当您尝试在其他方法中使用 __construct()
方法中的 属性 时,您必须使用 $this
关键字。正确的方法是:
class Admin extends CI_Controller
{
public $data = []; //array initialization
public function __construct()
{
parent::__construct();
$this->data['stanowiska'] = array(
'admin' => 'Administrator',
'ksiegowy' => 'Księgowy',
'glowny_ksiegowy' => 'Główny księgowy'
);
}
public function dodaj()
{
$this->load->view('dodaj', $this->data);// using data array from constructor
}
public function edytuj()
{
$this->load->view('edytuj_uzytkownika', $this->data);// same here
}
}