-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 回答
0

您的视图可能正在尝试使用 $data... 未定义,因为它在发送到视图的数组中不作为 $data['data'] 存在。

于 2013-04-02T20:19:38.240 回答