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