为什么$ this->数据没有发送到视图,但$ data在CodeIgniter中?

时间:2013-03-08 14:07:33

标签: php codeigniter

这是在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-&gt;数据时,没有任何内容被回显。

我做错了什么?

2 个答案:

答案 0 :(得分:1)

最有可能是$this->data未定义。

您需要在班级中定义数据成员

private $data;

并使用

初始化它
$this->data = array();

或一次性

private $data = array();

有关详细信息,请参阅Classes and ObjectsProperties

答案 1 :(得分:1)

$this->data未在您的控制器中定义。请记住,当前页面没有回忆$ data数组的名称。每个变量都被实例化为一个单独的变量,就像将数据数组传递给&#39; admin_frontpage&#39;一样,数组被剥离,数组的每个元素都被实例化为变量(即$this->data['header']变为$header