IndexController.php
namespace frontendcontrollers; use yii; use yiiwebController; class IndexController extends Controller { public function behaviors()//先于action执行,可以用来实现页面缓存 { return [ [ 'class'=>'yiifiltersPageCache',//整个页面缓存 'duration'=>10,//缓存时间 'only'=>['cache'],//只有index操作会被缓存,即使没有视图展示也会缓存 'dependency'=>[ 'class'=>'yiicachingDbDependency', 'sql'=>'select count(*) from user', ], ] ]; } public function actionCache(){ //片段缓存 return $this->renderPartial("index"); } }
views/index/index.php
<?php /** * Created by PhpStorm. * Date: 2016/5/25 * Time: 19:37 */ $duration = 15; //缓存依赖 $dependency = [ 'class'=>'yiicachingFileDependency', 'fileName'=>'hw.txt',//web目录下 ]; //缓存的开关 $enabled = false; ?> <?php //if($this->beginCache('cache_div',['duration' => $duration])){ //if($this->beginCache('cache_div',['enabled' => $enabled])){ if($this->beginCache('cache_div',['dependency' => $dependency])){?> <div id="cache_div"> <div>这里待会会被缓存 哈哈</div> </div> <?php $this->endCache(); }?> <div id="no_cache_div"> <div>这里不会被缓存 噜</div> </div>