-1

私は完全に新しく、codeigniter に関するチュートリアルを読みました。

私の質問は、私はこれを取得し続けることです:

 A PHP Error was encountered

 Severity: Notice

 Message: Undefined variable: data

 Filename: views/welcome_message.php

 Line Number: 70

そして私のコントローラー「welcome.php」:

    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

   class Welcome extends CI_Controller {


public function index()
{
    $data = array();
    $data['title'] = "Hello world";
    $this->load->view('welcome_message', $data);
}

 }

私の見解は

ビューロードで「$data」を使用していますが、このメッセージが表示され続けます。なぜですか?

4

3 に答える 3

3

コントローラー内に配置したキーは、ビューの$data変数 ( 付きextract()) になります。あなたの例では、次のようになります。

// controller
$data['title'] = 'hello world';

ビューで次のように使用できます。

// view
<?php print $title ?>

$dataビューですべてのプレフィックスを付ける必要はありません。

于 2013-04-02T20:18:35.337 に答える
1

$dataいわば「高速道路」であり、データがビューにたどり着くまでの経路です。技術的には、変数セットをビューに転送するために使用される単なる配列です。

データがビューに表示されたら、それを$data's キーで参照します。したがって、あなたの場合、ビューでは、タイトルを として参照します$title

この配列には任意の名前を付けることができますが、慣例ではdata.

したがって、私のコントローラーでは次のことができます。

$stuff['title'] = "This is my title";
$this->load->view('my_view', $stuff);

そしてビューで:

echo $title;//echo's out "This is my title"
于 2013-04-02T20:18:41.370 に答える