为了账号安全,请及时绑定邮箱和手机立即绑定

Yii框架不得不说的故事—高效篇(2)

withy PHP开发工程师
难度中级
时长 2小时27分
学习人数
综合评分9.80
77人评价 查看评价
9.9 内容实用
9.9 简洁易懂
9.6 逻辑清晰
  • 片段缓存设置: 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]);
    查看全部
    1 采集 收起 来源:片段缓存设置

    2018-03-22

  • //片段缓存介绍 <?php if($this->beginCache('cachedata')){ ?> <div id="cache_div"> <div>这里待会会被缓存</div> </div> <?php $this->endCache();}?> <div id="no_cache_div"> <div>这里不会被缓存</div> </div>
    查看全部
    0 采集 收起 来源:片段缓存介绍

    2018-03-22

  • 缓存中的依赖关系: $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栈的最前面,从而在需要时最先被调用 ?>
    查看全部
    4 采集 收起 来源:类的延迟加载

    2018-03-22

  • 页面缓存
    查看全部
    0 采集 收起 来源:片段缓存介绍

    2016-01-28

  • 数据库依赖
    查看全部
  • 表达式依赖
    查看全部
  • 文件依赖
    查看全部
  • HUANCUN
    查看全部
  • \YII::$app->cache add delete set get flush
    查看全部
  • yii::$app->cache add set delete
    查看全部

举报

0/150
提交
取消
课程须知
学习本门课程之前,建议先了解一下知识,会更有助于理解和掌握本门课程 1、掌握PHP基本的语言语法 2、对MVC开发方式有一定的了解
老师告诉你能学到什么?
1、YII的延迟加载 2、YII的多级缓存 3、GII工具的使用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!