CodeIgniter如何通过控制器将信息从模型发送到视图


How does CodeIgniter send information from a Model to a View with the Controller?

当我调用一个控制器,它调用模型,模型返回信息从我的数据库分配给控制器中的东西。

但是它是如何将它"发送"给视图进行渲染的呢?例如,当我发送$data数组到my_view.php。它是如何到达那个页面的,所以我猜,我可以做一些事情,比如使用extract来获取我的个人变量。

我真的在问php级别,你如何发送数据(所以我可以学习)。那个视图怎么知道我发送了什么?

谢谢。

你必须把$data数组作为第二个参数发送给视图。

$data['user'] = array(
    'name'   => 'Tom Jones',
    'gender' => 'male'
);
$this->load->view('blogview', $data);

然后,在视图中通过相应的键值

访问数组的内容。
<?php echo $user['name']; ?>

查看文档获取更多详细信息:http://codeigniter.com/user_guide/general/views.html

所有php视图的通用模式是:

function render_view($__filename, $__data) {
    extract($__data);
    include $__filename;
}

这基本上是CodeIgniter的方式,但它使用加载器来查找视图文件名并包含输出缓冲选项。