每次都会加载Codeigniter 2.0缓存驱动程序吗?

时间:2011-07-10 05:21:31

标签: caching codeigniter

Codeigniters缓存文档建议:

$ this-> load-> driver('cache',array('adapter'=>'apc','backup'=>'file'));

如此处所述:

http://codeigniter.com/user_guide/libraries/caching.html

如果我在单个控制器上加载该驱动器,每次调用控制器中的任何函数或者CI框架是否已将其存储在内存中时,是否会加载驱动程序?

感谢!!!

2 个答案:

答案 0 :(得分:6)

只需执行以下步骤。

步骤1:扩展核心控制器

  
    

创建一个名为application / core / MY_Controller.php的文件,并将代码放在该文件中。

  

类MY_Controller扩展了CI_Controller {

function __construct()
{
    parent::__construct();

// Place the driver calling code here
$this->load->driver('cache', array('adapter' => 'apc', 'backup' => 'file'));

}

}

2.在您的应用程序控制器上,扩展MY_Controller而不是CI_controller

class Welcome扩展了MY_Controller {

function __construct()
{
    parent::__construct();
}

function index()
{
    $this->load->view('welcome_message');
}

}

答案 1 :(得分:0)

如果您输入上述代码$this->load->driver('cache', array('adapter' => 'apc', 'backup' => 'file')); 在控制器的构造函数内部,每次调用该控制器的任何方法时都会加载它。您不需要在该控制器的每个方法中加载它。