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

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

withy PHP开发工程师
难度中级
时长 2小时27分
学习人数
综合评分9.80
77人评价 查看评价
9.9 内容实用
9.9 简洁易懂
9.6 逻辑清晰
  • cache缓存组件的操作
    查看全部
  • Yii2 中应用自动加载类文件
    查看全部
    0 采集 收起 来源:类的延迟加载

    2017-07-02

  • 性能优化第二层次,自动加载所需文件,spl_autoload_register()
    查看全部
    0 采集 收起 来源:类的延迟加载

    2017-07-02

  • 性能优化第一层次,手动加载需要的文件。
    查看全部
    0 采集 收起 来源:类的延迟加载

    2017-07-02

  • hw.txt的正确路径应该是在basic/web目录下,不用加具体的路径名。入口文件index.php也是在该目录下
    查看全部
    0 采集 收起 来源:http缓存实例

    2017-06-26

  • status=304 not modified
    查看全部
    0 采集 收起 来源:http缓存位置

    2017-06-26

  • 缓存是缓存在浏览器这一端的
    查看全部
    0 采集 收起 来源:http缓存位置

    2017-06-26

  • http缓存 浏览器向服务器请求数据,如果服务器的数据没有发生变化,那么无论浏览器发送多少请求 服务器发送的数据都是一样的,这样的话会对服务器资源造成一种浪费。 因此希望,如果服务器数据没有发生变化,那么就不对浏览器返回数据,仍旧使用浏览器缓存的数据。 做法是:服务器返回的数据会被加上last-modified 这个字段,表示最后一次修改时间, 如果浏览器发送请求,则会将last-modified 这些数据再发送给服务器,服务器发现last-modified 没有发生改变 则不再重复给浏览器发送数据,可以节约资源。 还有一种情况就是说,如果服务器端数据发生了改变,但是在浏览器请求数据之前,数据又改变回来了,所以last-modified 发生了变化, 但是这种情况也不希望服务器给浏览器返回数据。因此,服务器返回给浏览器的数据中还有一个字段etag表示数据内容是否发生变化, 如果last-modified 发生了变化,再进一步判断etag是否发生变化,如果没有,则不返回数据。
    查看全部
    1 采集 收起 来源:http缓存简介

    2017-06-26

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

    2018-03-22

  • <?php namespace app\controllers; use Yii; use yii\web\Controller; class HelloController extends Controller { public function behaviors(){ return [ [ 'class'=>'yii\filters\PageCache', 'duration'=>1000, 'only'=>['index','test'], //这里类名首字母需要用小写字母 'dependency'=>[ 'class'=>'yii\caching\FileDependency', 'fileName'=>'hw.txt' ] ] ]; } public function actionIndex() { echo 3; } public function actionTest(){ echo 6; } }
    查看全部
    0 采集 收起 来源:页面缓存

    2018-03-22

  • <?php //缓存时间 // $duration = 15; // //缓存依赖 // $dependency = [ // 'class' => 'yii\caching\FileDependency', // 'fileName' => 'hw.txt' // ]; //缓存开关 $enabled = false; ?> <?php if($this->beginCache('cache_div',['enabled'=>$enabled])){?> <div id="cache_div"> <div>这里待会会被缓存d</div> </div> <?php $this->endCache(); } ?>
    查看全部
    0 采集 收起 来源:片段缓存设置

    2018-03-22

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

    2018-03-22

  • 缓存数据有效期设置,可以在add或set的时候进行设置, add(''key','value',有效期); set(''key','value',有效期); 有效期(单位:S)
    查看全部
  • 添加数据缓存; 首先,需要config中的web.php中开启并设置四种缓存方式之一; 其次,加载缓存组件,并进行增删改查。参看截图 注意一点,缓存中相同的key值add方法时不会重复修改,只能通过set方法修改
    查看全部
  • 可以通过使用Yii::$classMap,对延迟加载机制进行优化,是典型的空间换时间的做法,所以不建议往classMap中放入太多不常用的内容,避免内存占用过多. Yii::$classMap['app\models\Test'] = '/Volumes/DataDisk/www/study/basic/models/Test.php'; 另外,Yii::$classMap数组中的可以需要用全名'app\models\Test',而不能简单的用Test
    查看全部

举报

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

微信扫码,参与3人拼团

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

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