变量无法在php codeigniter中的包含文件中工作

时间:2016-05-26 08:16:47

标签: php codeigniter include

我想要包含主页的所有部分。例如,数据库中的提取网站标题在header.php中有效,但当我在header.php中包含index.php时,我遇到错误,即我传递给带控制器的视图文件的变量未知。

控制器:

$this->load->model('mobshop');
$data['title']=$this->mobshop->get_title();
$this->load->view('header',$data);

查看文件:

<h1>
<?php echo $title['site_name']; ?>
</h1>

1 个答案:

答案 0 :(得分:0)

假设$this->mobshop->get_title()返回一个字符串,你的视图就是这个。

<h1>
<?php echo $title; ?>
</h1>

如果get_title()返回并且数组等效于此示例

$data['title'] = array('site name' => "My Site"); 

然后你会使用你在问题中的语法。

在你的问题中你说

  

但是当我在index.php ....中包含header.php时

引导我问,你真的是指使用include语句,include 'header.php';?如果是这样,通过输出“CodeIgniter方式”视图可能会获得更好的结果。

$this->load->view('header', $data);
$this->load->view('index'); //which is **not** a great name for a controller IMO

这样$data中的所有变量也会对index可见。