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

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

withy PHP开发工程师
难度中级
时长 2小时27分
学习人数
综合评分9.80
77人评价 查看评价
9.9 内容实用
9.9 简洁易懂
9.6 逻辑清晰
  • //模型 1、rules()详解 进行字段的约束作用 public function rules(){ return [ [['title'],'string'], [['title'],'string','max'=>200] ] } 2.attributeLabels详解: //返回数据库字段,以字段名为(key),注释为:(values) //1.为Ruels()提供数据返回错误的信息 //2.表单(用户操作),提示输入框中要输入什么。以及输入多少位 public function attributeLabels() { return [ 'id' => 'ID号', 'title' => '这是一个标题', ]; }
    查看全部
  • Gii: 1.r=gii会判断是模块还是控制器,如果是模块的话会交给模块处理(GII模块),否则的话交给控制器处理(应用主体(也是个模块)) 2.所有的模块都是挂在应用主体之上的
    查看全部
    0 采集 收起 来源:gii工具简介

    2016-02-15

  • //http缓存实例 public function behavior(){ return [ //根据时间缓存 [ 'class'=>'yii\filters\HttpCache', 'lastModified'=>function(){ return filemtime('hw.txt'); }, 'etageSeed'=>function(){ $fp=fopen('hw.txt','r'); $title=fgets($fp); fclose($fp); return $title; } ] ]; }
    查看全部
    0 采集 收起 来源:http缓存实例

    2018-03-22

  • //1、根据时间缓存 lastModified //2、根据内容变化缓存 etagSeed=>function(){ return 'etagseedsss'; }
    查看全部
    0 采集 收起 来源:http缓存之etag

    2018-03-22

  • lastModified 修改时间 服务器返回的状态码。304(缓存)或者200(重新请求成功)
    查看全部
  • //缓存时机 public function behaviors(){ return [ [ 'class'=>'yii\filters\HttpCache', 'lastModified'=>function(){ return 14328178654; } ] ]; } //使用HttpCache之后再请求头部header会多了一个Cache-Control:last-modified 来作为标志
    查看全部
  • ETag和last-modify作为Http的标准header,会令浏览器返回304 Not Modified
    查看全部
    0 采集 收起 来源:http缓存位置

    2016-02-15

  • //页面缓存 //页面访问index()方法之前会先访问behavior()方法行为。 public function behavior(){ return [ ['class'=>'yii\filters\PageCache',//页面缓存类 'duration'=>1000,//缓存时间 'only'=>['index','test'],//仅仅缓存index和test方法的数据] 'dependency'=>['class'=>'yii\caching\FileDependency','fileName'=>'hw.txt']//文件缓存依赖 ] ]; }
    查看全部
    0 采集 收起 来源:页面缓存

    2018-03-22

  • 嵌套缓存的时候要注意,外层缓存时间要不能大于内层的缓存时间,因为读取有顺序,当读取到外层缓存的时候就不会继续往下读取了。
    查看全部
    0 采集 收起 来源:片段缓存嵌套

    2016-02-15

  • //片段缓存介绍 <?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'
    查看全部

举报

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

微信扫码,参与3人拼团

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

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