0

これは、CodeIgniterで表示するデータを送信しています。

    public function index()
    {           
        $data['header'] = "Home";
        $this->load->view('admin_frontpage', $data);
    }

そして、これはそうではありません:

    public function index()
    {
        $this->data['header'] = "Home";
        $this->load->view('admin_frontpage', $this->data);
    }

なんで?

ビューファイルで、エコーしようとします。

    <?php echo $header; ?>

ただし、$dataを使用する場合にのみエコーされます。コントローラで$this->dataを使用すると、何もエコーアウトされません。

私は何が間違っているのですか?

4

2 に答える 2

1

ほとんどの$this->data場合、定義されていません。

クラスでデータメンバーを定義する必要があります

private $data;

で初期化します

$this->data = array();

または一度にすべて

private $data = array();

詳細については、クラスとオブジェクトおよびプロパティを参照してください。

于 2013-03-08T14:10:29.573 に答える
1

$this->dataコントローラで定義されていません。現在のページには$data配列の名前の記憶がないことに注意してください。データ配列を''に渡すときと同じように、すべての変数は個別の変数としてインスタンス化されますadmin_frontpage。配列は削除され、配列のすべての要素は変数としてインスタンス化されます($this->data['header']つまり$header

于 2013-03-08T14:13:16.817 に答える