【问题标题】:Does Codeigniter allow caching a particular view instead of whole webpage?Codeigniter 是否允许缓存特定视图而不是整个网页?
【发布时间】:2019-06-27 20:42:39
【问题描述】:

我想了解Codeigniter's Caching。我为我的应用程序启用了缓存,它开始缓存我的网页。但我的问题是它缓存了整个页面而不是视图。

我的意思是我有一个可以加载多个视图的布局。像左侧边栏和右侧边栏。现在我只想缓存这些,因为它们对于所有用户帐户都是通用的。所以我可以为其他用户显示缓存视图。但是 Codeigniter 会缓存整个页面,因此当其他用户登录时,会显示最后登录用户或其他用户的信息。

我尝试使用这个缓存在我的左侧和右侧边栏中:

$this->output->cache($n);

那么是否可以只缓存我网页的某些部分或特定视图? 或者我需要应用一些逻辑,所以当不同的用户登录时,他们看不到任何其他人的帐户信息。

我推荐了这个question但是我不明白所以再次发帖。

【问题讨论】:

    标签: php html codeigniter caching


    【解决方案1】:

    我之前没有使用过 CI 缓存,所以从指南中复制了示例 - 但请注意加载视图的第三个参数。它使您能够返回输出。假设您创建了视图 - 使用 true 作为第三部分,然后 CI 可以缓存该特定元素。

    $this->load->driver('cache', array('adapter' => 'apc', 'backup' => 'file'));
    
    if ( ! $foo = $this->cache->get('foo'))
    {
        echo 'Saving to the cache!<br />';
        $foo = $this->load->view('your_view',$params,true);
    
        // Save into the cache for 5 minutes
        $this->cache->save('foo', $foo, 300);
    }
    
    echo $foo;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-19
      • 2014-11-28
      相关资源
      最近更新 更多