2012-04-08 21 views
3

私はこのコントローラをCode Igniterアプリケーションに使用しています。値はコンストラクタで初期化されます。なぜコードイグナイターコントローラのコンストラクタで初期化された値を渡せませんか?

class Cat extends CI_Controller { 
    private $data = array(); 

    public function __construct() { 
     parent::__construct(); 
     $this->data['sound'] = "meow"; 
    }         
    public function index() { 
     $this->load->view('myCatPage', $data); 
    } 
} 

ビュー "views/myCatPage.php"は次のようになります。それは単純だ。

<?= $sound ?> 

なぜPHPはこのエラーに注意しますか?

Message: Undefined variable: sound 

私はビューに送らアレイ($data)でキーとして、この変数を送ったと思いました。 私は

$this->load->view('myCatPage', $this->data); 

を試みたが、妙すぎて失敗したことをしています。

+1

いいえ、それはないだろう@thescientist – thescientist

+1

[「音」]私は、コードの点火装置に慣れていないんだけど、$データは連想配列であれば、それは$データであることが必要です。 CIでは、コントローラーの '$ data ['sound'] == 'meow'''が' $ sound ==' meow''をビューの – novato

+0

ビューで見つけたら、 'CI'はビュー内の配列を抽出するからです。 –

答えて

9
class Cat extends CI_Controller { 
    var $data = array(); 
    public function __construct() { 
     parent::__construct(); 
     $this->data['sound'] = "meow"; 
    }         
    public function index() { 
     $this->load->view('myCatPage', $this->data); 
    } 
} 
+0

ありがとう!それは動作します! –

+0

あなたは歓迎です:-) –

関連する問題