亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

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

withy PHP開發工程師
難度中級
時長 2小時27分
學習人數
綜合評分9.80
77人評價 查看評價
9.9 內容實用
9.9 簡潔易懂
9.6 邏輯清晰
  • DB依賴關系

    查看全部
  • 緩存文件依賴和表達式依賴,當依賴的結果比如文件修改時間改變或者表達式結果改變時緩存失效。

    查看全部
  • 緩存有效期設置

    查看全部
  • 數據緩存方法

    查看全部
  • 調用組件時會調用__get()方法,然后再返回調用的組件,實現組件的延遲加載

    查看全部
  • 類的映射表機制

    查看全部
  • spl_autoload_register([$classname,$functionname])注冊自動加載函數,實現類的延遲加載

    查看全部
    0 采集 收起 來源:類的延遲加載

    2019-01-04

  • 緩存文件依賴以及表達式依賴

    查看全部
  • yii框架通過PHP __get方法來實現組件的延遲加載。而不需要一開始就加載組件而是調用了該類后再加載
    查看全部
  • __get方法
    查看全部
  • 表里邊的內容是字段的備注


    查看全部
  • <?php
    namespace?app\controllers;
    use?yii\web\Controller;
    
    class?HelloController?extends?Controller{
    
    	public?function?behaviors(){?
    
    		return?[
    			[
    				'class'=>'yii\filters\HttpCache',?//?告訴瀏覽器,緩存服務器發送的數據
    				//?下面的代碼
    				'lastModified'=>function(){?//?通過這生成的時間戳,來比對數據
    					return?filemtime('hw.txt');
    				},
    				'etagSeed'=>function(){?//?etag
    					$fp?=?fopen('hw.txt',?'r');
    					$title?=?fgets($fp);
    					fclose($fp);
    					return?$title;
    				}
    			]
    		];
    	}
    
    	public?function?actionIndex(){
    		return?$this->renderPartial('index');
    	}
    }


    查看全部
    0 采集 收起 來源:http緩存實例

    2018-04-14

  • HelloController.php文件

    <?php
    namespace?app\controllers;
    use?yii\web\Controller;
    
    class?HelloController?extends?Controller{
    
    	public?function?behaviors(){?
    
    		return?[
    			[
    				'class'=>'yii\filters\HttpCache',?//?告訴瀏覽器,緩存服務器發送的數據
    				//?下面的代碼
    				'lastModified'=>function(){?//?通過這生成的時間戳,來比對數據
    					return?1432817567;
    				},
    				'etagSeed'=>function(){?//?etag
    					return?'etagseed21';
    				}
    			]
    		];
    	}
    
    	public?function?actionIndex(){
    		return?$this->renderPartial('index');
    	}
    }


    查看全部
    0 采集 收起 來源:http緩存之etag

    2018-04-14

  • 問題2:服務器是怎樣對比瀏覽器請求數據服務器數據的區別呢?對比的依據是什么呢?

    通過如下代碼實現(HelloController.php文件中部分代碼如下)

    public?function?behaviors(){?
    
    		return?[
    			[
    				'class'=>'yii\filters\HttpCache',?//?告訴瀏覽器,緩存服務器發送的數據
    				//?下面的代碼↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
    				'lastModified'=>function(){?//?通過這生成的時間戳,來比對數據
    					return?1432817564;
    				}
    			]
    		];
    	}

    HelloController.php文件代碼

    <?php
    namespace?app\controllers;
    use?yii\web\Controller;
    
    class?HelloController?extends?Controller{
    
    	public?function?behaviors(){?
    
    		return?[
    			[
    				'class'=>'yii\filters\HttpCache',?//?告訴瀏覽器,緩存服務器發送的數據
    				//?下面的代碼↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
    				'lastModified'=>function(){?//?通過這生成的時間戳,來比對數據
    					return?1432817564;
    				}
    			]
    		];
    	}
    
    	public?function?actionIndex(){
    		return?$this->renderPartial('index');
    	}
    }


    查看全部
  • 問題1:服務器怎么告訴瀏覽器緩存服務器發送的數據呢?

    服務器向瀏覽器發送數據,會在數據頭部添加Cache-Control字段,告訴瀏覽器緩存數據;服務器是通過如下代碼告訴瀏覽器緩存服務器發送的數據(HelloController.php文件中部分代碼如下)

    public?function?behaviors(){?//?在調用其他action方法前調用behaviors方法
    
    		return?[
    			[
    				'class'=>'yii\filters\HttpCache',?//?告訴瀏覽器,緩存服務器發送的數據
    				'lastModified'=>function(){
    					return?1432817564;
    				}
    			]
    		];
    	}

    HelloController.php文件代碼

    <?php
    namespace?app\controllers;
    use?yii\web\Controller;
    
    class?HelloController?extends?Controller{
    
    	public?function?behaviors(){?//?在調用其他action方法前調用behaviors方法
    
    		return?[
    			[
    				'class'=>'yii\filters\HttpCache',?//?告訴瀏覽器,緩存服務器發送的數據
    				'lastModified'=>function(){
    					return?1432817564;
    				}
    			]
    		];
    	}
    
    	public?function?actionIndex(){
    		echo?'海草舞';
    	}
    }


    查看全部

舉報

0/150
提交
取消
課程須知
學習本門課程之前,建議先了解一下知識,會更有助于理解和掌握本門課程 1、掌握PHP基本的語言語法 2、對MVC開發方式有一定的了解
老師告訴你能學到什么?
1、YII的延遲加載 2、YII的多級緩存 3、GII工具的使用

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!