CodeIgniter跨多个视图的持久数据

时间:2013-02-21 11:24:39

标签: codeigniter-2

我正在使用CodeIgniter构建一个webapp但我是新手。 我有使用来自数据库的不同数据数组的各个部分的首页。

我想要的是从基本控制器加载一次数据并扩展此控制器并在多个视图中重复使用这些数据。

我不想做的是在其他控制器上重复相同的数据库调用。

这甚至可能吗?

我现在拥有的是:

class MY_Controller extends CI_Controller
{
    public function __construct()
    {
      parent::__construct();
      $data['somevar'] = $this->some_model->get();
    }

}

我想在页面的一个部分的foreach循环中使用$ somevar。

注意:我正在使用模板库。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您需要了解的是,每次刷新页面都会再次加载整个CI应用程序(因此每个页面加载都会发生构造函数调用)。因此,从一个视图到下一个视图的数据调用没有持久性(假设您确实在讨论新页面)。

您必须提出另一种方法来持久保存数据 - 无论是在cookie,客户端存储,会话还是服务器端缓存中。这样,数据将在不同的页面视图中可用,而无需反复请求。