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

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

withy PHP开发工程师
难度中级
时长 2小时27分
学习人数
综合评分9.80
77人评价 查看评价
9.9 内容实用
9.9 简洁易懂
9.6 逻辑清晰
    1. http缓存是缓存在浏览器里面

    2. 浏览器第一次向服务器请求数据时,服务器会将数据发送给浏览器,并可以要求浏览器缓存该数据

      浏览器第二次向服务器请求数据时,服务器会比对服务器数据浏览器数据是否相同,相同,则向浏览器发送304状态码(Not Modify),让浏览器使用缓存数据。

    3. 问题1:服务器怎么告诉浏览器缓存服务器发送的数据呢?(下节课解答)

      问题2:服务器是怎样对比浏览器请求数据服务器数据的区别呢?对比的依据是什么呢?(下下节课解答)

    查看全部
    0 采集 收起 来源:http缓存位置

    2018-04-14

  • HelloController.php文件

    <?php
    namespace app\controllers;
    use yii\web\Controller;
    
    class HelloController extends Controller{
    
    	public function behaviors(){ // 在调用其他action方法前调用behaviors方法
    
    		return [
    			[
    				'class'=>'yii\filters\PageCache', // 
    				'only'=>['index'], // 指定需要缓存的页面
    				'duration'=>100, // 缓存的时间
    				'dependency'=>[ // 设置缓存依赖
    				'class'=>'yii\caching\FileDependency', // 设置文件依赖
    				'fileName'=>'hw.txt' // 被依赖文件名
    				]
    
    			]
    		];
    	}
    
    	public function actionIndex(){
    		echo '海草舞';
    	}
    
    	public function actionTest(){
    		echo '1234';
    	}
    }


    查看全部
    0 采集 收起 来源:页面缓存

    2018-04-14

  • index.php文件

    <?php
    	// // 缓存时间
    	// $duration = 15; // 15秒缓存
    
    	// // 缓存依赖
    	// $dependency = [
    	//  'class' => 'yii\caching\FileDependency',
    	//  'fileName' => 'hw.txt'
    	// ];
    
    	// 缓存开关
    	$enabled = false;
    ?>
    
    <?php 
    	if($this->beginCache('cache_div', ['enabled'=>$enabled]))
    	{
    ?>
    <div id='cache_div'>
    	<div>这里待会儿会被缓存</div>
    </div>
    <?php 
    		$this->endCache();
    	}
    ?>
    
    <div id='no_cache_div'>
    	<div>不会被缓存</div>
    </div>

    HelloController.php文件

    <?php
    namespace app\controllers;
    use yii\web\Controller;
    
    class HelloController extends Controller{
    
    	public function actionIndex(){
    
    		return $this->renderPartial('index');
    	}
    }


    查看全部
    0 采集 收起 来源:片段缓存设置

    2018-04-14

  • index.php文件

    <?php 
    	if($this->beginCache('cache_div'))
    	{
    ?>
    <div id='cache_div'>
    	<div>这里待会儿会被缓存</div>
    </div>
    <?php 
    		$this->endCache();
    	}
    ?>
    
    <div id='no_cache_div'>
    	<div>不会被缓存</div>
    </div>

    HelloController.php文件

    <?php
    namespace app\controllers;
    use yii\web\Controller;
    
    class HelloController extends Controller{
    
    	public function actionIndex(){
    
    		return $this->renderPartial('index');
    	}
    }


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

    2018-04-14

  • HelloController.php文件

    <?php
    namespace app\controllers;
    use yii\web\Controller;
    
    class HelloController extends Controller{
    
    	public function actionIndex(){
    
    		/*缓存数据有效期的设置*/
    
    		//获取缓存组件
    		$cache = \YII::$app->cache;
    
    		// 通过第三个参数设置缓存有效期
    		$cache->add('key', 'hello', 15);// 缓存有效期为15秒
    		
    		// 读缓存
    		echo $cache->get('key');
    
    
    	}
    }


    查看全部
  • HelloController.php文件

    <?php
    namespace app\controllers;
    use yii\web\Controller;
    
    class HelloController extends Controller{
    
    	public function actionIndex(){
    
    		/*数据缓存*/
    
    		//获取缓存组件
    		$cache = \YII::$app->cache;
    
    		// 往缓存中写数据
    		$cache->add('key1', 'hello world');
    		$cache->add('key1', 'hello world-1'); // 不会覆盖之前的缓存
    		$cache->add('key2', 'hello world2');
    
    		// 修改数据
    		// $cache->set('key1', 'hello man');
    
    		// // 删除数据
    		// $cache->delete('key1');
    
    		// // 清空所有缓存
    		// $cache->flush();
    
    		// 读缓存
    		$data = $cache->get('key1');
    		var_dump($data); // 读取失败时返回false
    	}
    }


    查看全部
  • <?php
    
    function my_loader($class){
    	require('class\\'.$class.'.php');
    }
    
    spl_autoload_register('my_loader');
    
    $is_girl = $_GET['sex'] == 0 ? true : false;
    
    if($is_girl){
    	echo 'this is a girl';
    	$class1 = new Class1;
    }
    else{
    	echo 'not a girl';
    	$class2 = new Class2;
    }


    查看全部
    0 采集 收起 来源:类的延迟加载

    2018-04-14

  • 类的延迟加载:在找不到类定义的时候,执行指定的函数,试图包含其中的文件而不是一开始就把所有可能的文件包含进去。spl_autoload_register(函数名,其他参数);
    查看全部
    0 采集 收起 来源:类的延迟加载

    2017-12-29

  • 缓存数据
    查看全部
  • aaaa
    查看全部
    0 采集 收起 来源:gii工具简介

    2017-09-25

  • wqedf
    查看全部
  • 类的映射机制具体有什么作用?
    查看全部
  • 请求加载流程
    查看全部
  • sql_autoload_register('methodName') 延迟加载
    查看全部
    0 采集 收起 来源:类的延迟加载

    2017-07-06

  • 缓存有效期,保存15秒
    查看全部

举报

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

微信扫码,参与3人拼团

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

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