21

Codeigniter と OOP PHP は初めてです。

コントローラ:

public function index(){
    $this->load->model('main_model');
    $planet = $this->main_model->solar();
    $this->load->view('main_view', $planet);    
    }

コントローラーの場合echo $planet、本来の動作を行います。ビューにecho $planetいると、未定義の変数エラーが発生します。 $planet配列ではありません。$planet変数がビューに渡されないのはなぜですか?

これが単純で基本的な質問であることはわかっていますが、何が間違っているのかわからなくて恥ずかしいです。

編集:さて、もっといじった後、私はそれを機能させました。変数は、配列としてフォーマットされている場合にのみ Controller から View に渡すことができますか?

4

4 に答える 4

31

ビューに配列を渡す必要があります。CodeIgniter は自動的に$planet利用できるようにします。

$data = array('planet' => $planet);
$this->load->view('main_view', $data);

これにより、ビューで使用でき$planetます。

たとえば、次のようにすると:

$data = array('foo' => 'Hello', 'bar' => 'world');
$this->load->view('main_view', $data);

$foo表示さ$barれます。配列内のキーと値のペアは、ビュー内の変数に自動的に変換されます。

于 2012-09-06T06:59:09.700 に答える
1

次のようにしてみてください:

public function index(){
    $this->load->model('main_model');
    $data['planet'] = $this->main_model->solar();
    $this->load->view('main_view', $data);    
}

にアクセスできます"$planet"

于 2012-09-06T07:01:46.540 に答える