这是在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;数据时,没有任何内容被回显。
我做错了什么?
答案 0 :(得分:1)
最有可能是$this->data
未定义。
您需要在班级中定义数据成员
private $data;
并使用
初始化它$this->data = array();
或一次性
private $data = array();
有关详细信息,请参阅Classes and Objects和Properties。
答案 1 :(得分:1)
$this->data
未在您的控制器中定义。请记住,当前页面没有回忆$ data数组的名称。每个变量都被实例化为一个单独的变量,就像将数据数组传递给&#39; admin_frontpage
&#39;一样,数组被剥离,数组的每个元素都被实例化为变量(即$this->data['header']
变为$header
)