2011-07-10 4 views
0

コードニッターキャッシングドキュメントは、次のように推奨しています。Codeigniter 2.0キャッシングドライバは毎回ロードされますか?

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

ここに文書化されたよう:

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

私は、単一のコントローラ上のドライブをロードすると、ドライバは、私は、コントローラ内の任意の関数を呼び出すたびにロードまたはメモリにこれを格納したCIフレームワークを持っていますん既に?

ありがとうございました!

答えて

0

上記のコードをコントローラのコンストラクタ内に入れた場合、そのコントローラのメソッドを呼び出すたびに読み込まれます。$this->load->driver('cache', array('adapter' => 'apc', 'backup' => 'file')); そのコントローラーの各メソッド内にロードする必要はありません。

+0

このコードは、アプリケーション全体で1回だけロードされるようにしてください。ありがとう! – Kevin

+0

これにフックを使用します。 – FDisk

6

次の手順を実行してください。

ステップ1:アプリケーション/コア/ 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.Onアプリケーションコントローラを拡張し、代わりにクラスようこそ{

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

function index() 
{ 
    $this->load->view('welcome_message'); 
} 
MY_Controllerを拡張

CI_controller

のMY_Controllerを拡張

関連する問題