2016-07-01 4 views
0

変数はすべてのコントローラメソッドで使用できますか? 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); 
      } 
     } 

は、2つの変数$データ[「stanowiska」]を持って、すべてが正常に動作しますが、私はこのような唯一のVARを必要としています。私はこれを使用する場合:

public function __construct() 
{ 
    parent::__construct(); 
    $data['stanowiska'] = array(
     'admin' => 'Administrator', 
     'ksiegowy' => 'Księgowy', 
     'glowny_ksiegowy' => 'Główny księgowy' 
    ); 
} 

を、私はこのメッセージが表示されました:

A PHPエラーが

重要度を発生しました:未定義の変数:stanowiska

は私がshoud

メッセージに注目してくださいその問題を解決するには?ありがとう:D

答えて

0

他の方法で__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 
    } 
} 
+0

ありがとうございます:D – Marcin

+0

ハッピーコーディング。 #SOreadytohelp – Tpojka

関連する問題