将变量分配给视图

时间:2011-12-01 20:37:05

标签: codeigniter variables views

为视图分配变量的正确方法是什么?

$data['users'] = $this->users_model->get_all();
$this->load->view('users', $data);
// and inside users.php view: foreach($users as $user) {}

OR

$this->users = $this->users_model->get_all();
$this->load->view('users');
// and inside users.php view: foreach($this->users as $user) {}

是否存在针对此类情况的一般规则?

1 个答案:

答案 0 :(得分:5)

第一种方法比第二种方式好得多,是将变量传递给视图的可接受方式。

例如,假设您有两个观点。第一个视图显示系统中的所有用户,第二个视图显示当前登录的用户。两个视图循环遍历$users变量并输出其名称。使用第二种方法,您必须在加载每个视图之前将适当的数据分配给$this->users。必须在给定请求的所有已加载视图之间使用唯一变量名称将失控。

此外,一些观点可能变得相当复杂。将视图中所需的每个变量分配给控制器的属性是没有任何意义的。