变量可用在所有控制器方法?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'
    );
}

I got this message:

遇到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
    }
}

最新更新