-
片段缓存设置: 1、缓存时间 $this->beginCache('cache_div',['duration'=>15]); 2、缓存依赖 $dependency = [ 'class'=> 'yii\caching\FileDependency','fileName'=>'hw.txt']; $this->beginCache('cache_div',['duration'=>$dependency]); 3、缓存开关 $this->beginCache('cache_div',['enabled'=>false]);查看全部
-
//片段缓存介绍 <?php if($this->beginCache('cachedata')){ ?> <div id="cache_div"> <div>这里待会会被缓存</div> </div> <?php $this->endCache();}?> <div id="no_cache_div"> <div>这里不会被缓存</div> </div>查看全部
-
缓存中的依赖关系: $cache=\YII::$app->cache; 1、文件依赖(FileDependency):一旦文件改变,缓存将失效 $dependency=new \yii\caching\FileDependency(['filename'=>'hw.txt']); $cache->add('file_key','hello word!',3000,$dependency); 2、表达式依赖(ExpressionDependency):一旦表达式改变,缓存将失效 $dependency=new \yii\caching\ExpressionDependency(['expression'=>'\YII::$app->request->get["name"]']); 3、DB依赖(DbDependency):一旦数据改变,缓存将失效 $dependency=new \yii\caching\ExpressionDependency( ['sql'=>'select count(*) from user']);查看全部
-
//数据缓存有效期设置 //获取缓存组件 $cache=\YII::$app->cache; //有效期设置15秒 $cache->add('key','value',15); $cache->set('key1','value',15); //读取缓存 echo $cache->get('key');查看全部
-
数组缓存的增删查改 //获取缓冲组件 $cache=Yii::$app->cache; //缓冲数据写入add $cache->add('key1','Hello1'); //缓冲数据修改 $cache->set('key1','hello2'); //缓冲数据删除delete $cache->delete('key1'); //缓冲数据读取get $result=$cache->get('key1'); //清空缓冲数据flush $cache->flush('key1');查看全部
-
使用PHP的魔术方法__get(),以及YII::$app->{component名字}来实现了延迟加载/初始化。 $session=\Yii::$app->session;查看全部
-
在调用spl_autoloader_register()进行autoloader注册之后,Yii将classes.php这个文件作为一个映射表保存到Yii::$classMap当中,这个映射表,保存了一系列的类名与其所在php文件的映射关系。 举例 \Yii::$classMap['app\models\order']='D:\www\basic\model\order.php'查看全部
-
lazy loading技术,yii懒加载技术依赖于php的spl_autoload_register(),注册一个自己的自动加载函数(autoloader),并插入到自动加载函数栈的最前面,确保yii的autoloader会被最先调用,类自动加载的这个机制的引入要从入口文件index.php 开始说起。 <?php defined('YII_DEBUG')or define('YII_DEBUG',false); defined('YII_ENV')or define('YII_ENV','prod'); //这个是第三方的autoloader require(__DIR__.'/../vendor/autoload.php'); //这个是yii的Autoloader,放在最后面,确保 其插入的autoloader会放在最前面 require(__DIR__.'/../vendor/yiisoft/yii2/Yii.php'); require(__DIR__.'/../../common/config/aliases.php'); $config=yii\helpers/ArrayHelper::merge( require(__DIR__.'../../common/config/main.php'), require(__DIR__.'../../common/config/main-local.php'), require(__DIR__.'../config/main.php'), require(__DIR__.'../config/main-local.php') ); $application=new yii\web\Application($config); $application->run(); 这个文件主要看点在于第三方的autoloader与Yii实现的autoloader的顺序,不管第三方的代码是如何使用spl_autoloader_register()来注册资金的autoloader的。只有yii的代码在最后面,就可以确保其可以将自己的autoloader插入到整个 autoloader栈的最前面,从而在需要时最先被调用 ?>查看全部
-
页面缓存查看全部
-
数据库依赖查看全部
-
表达式依赖查看全部
-
文件依赖查看全部
-
HUANCUN查看全部
-
\YII::$app->cache add delete set get flush查看全部
-
yii::$app->cache add set delete查看全部
举报
0/150
提交
取消