-
DB依賴關(guān)系
查看全部 -
緩存文件依賴和表達(dá)式依賴,當(dāng)依賴的結(jié)果比如文件修改時(shí)間改變或者表達(dá)式結(jié)果改變時(shí)緩存失效。
查看全部 -
緩存有效期設(shè)置
查看全部 -
數(shù)據(jù)緩存方法
查看全部 -
調(diào)用組件時(shí)會(huì)調(diào)用__get()方法,然后再返回調(diào)用的組件,實(shí)現(xiàn)組件的延遲加載
查看全部 -
類的映射表機(jī)制
查看全部 -
spl_autoload_register([$classname,$functionname])注冊(cè)自動(dòng)加載函數(shù),實(shí)現(xiàn)類的延遲加載
查看全部 -
緩存文件依賴以及表達(dá)式依賴
查看全部 -
yii框架通過(guò)PHP __get方法來(lái)實(shí)現(xiàn)組件的延遲加載。而不需要一開始就加載組件而是調(diào)用了該類后再加載查看全部
-
__get方法查看全部
-
表里邊的內(nèi)容是字段的備注
查看全部 -
<?php namespace?app\controllers; use?yii\web\Controller; class?HelloController?extends?Controller{ public?function?behaviors(){? return?[ [ 'class'=>'yii\filters\HttpCache',?//?告訴瀏覽器,緩存服務(wù)器發(fā)送的數(shù)據(jù) //?下面的代碼 'lastModified'=>function(){?//?通過(guò)這生成的時(shí)間戳,來(lái)比對(duì)數(shù)據(jù) 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'); } }
查看全部 -
HelloController.php文件
<?php namespace?app\controllers; use?yii\web\Controller; class?HelloController?extends?Controller{ public?function?behaviors(){? return?[ [ 'class'=>'yii\filters\HttpCache',?//?告訴瀏覽器,緩存服務(wù)器發(fā)送的數(shù)據(jù) //?下面的代碼 'lastModified'=>function(){?//?通過(guò)這生成的時(shí)間戳,來(lái)比對(duì)數(shù)據(jù) return?1432817567; }, 'etagSeed'=>function(){?//?etag return?'etagseed21'; } ] ]; } public?function?actionIndex(){ return?$this->renderPartial('index'); } }
查看全部 -
問(wèn)題2:服務(wù)器是怎樣對(duì)比瀏覽器請(qǐng)求數(shù)據(jù)和服務(wù)器數(shù)據(jù)的區(qū)別呢?對(duì)比的依據(jù)是什么呢?
通過(guò)如下代碼實(shí)現(xiàn)(HelloController.php文件中部分代碼如下)
public?function?behaviors(){? return?[ [ 'class'=>'yii\filters\HttpCache',?//?告訴瀏覽器,緩存服務(wù)器發(fā)送的數(shù)據(jù) //?下面的代碼↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 'lastModified'=>function(){?//?通過(guò)這生成的時(shí)間戳,來(lái)比對(duì)數(shù)據(jù) return?1432817564; } ] ]; }
HelloController.php文件代碼
<?php namespace?app\controllers; use?yii\web\Controller; class?HelloController?extends?Controller{ public?function?behaviors(){? return?[ [ 'class'=>'yii\filters\HttpCache',?//?告訴瀏覽器,緩存服務(wù)器發(fā)送的數(shù)據(jù) //?下面的代碼↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 'lastModified'=>function(){?//?通過(guò)這生成的時(shí)間戳,來(lái)比對(duì)數(shù)據(jù) return?1432817564; } ] ]; } public?function?actionIndex(){ return?$this->renderPartial('index'); } }
查看全部 -
問(wèn)題1:服務(wù)器怎么告訴瀏覽器緩存服務(wù)器發(fā)送的數(shù)據(jù)呢?
服務(wù)器向?yàn)g覽器發(fā)送數(shù)據(jù),會(huì)在數(shù)據(jù)頭部添加Cache-Control字段,告訴瀏覽器緩存數(shù)據(jù);服務(wù)器是通過(guò)如下代碼告訴瀏覽器緩存服務(wù)器發(fā)送的數(shù)據(jù)(HelloController.php文件中部分代碼如下)
public?function?behaviors(){?//?在調(diào)用其他action方法前調(diào)用behaviors方法 return?[ [ 'class'=>'yii\filters\HttpCache',?//?告訴瀏覽器,緩存服務(wù)器發(fā)送的數(shù)據(jù) 'lastModified'=>function(){ return?1432817564; } ] ]; }
HelloController.php文件代碼
<?php namespace?app\controllers; use?yii\web\Controller; class?HelloController?extends?Controller{ public?function?behaviors(){?//?在調(diào)用其他action方法前調(diào)用behaviors方法 return?[ [ 'class'=>'yii\filters\HttpCache',?//?告訴瀏覽器,緩存服務(wù)器發(fā)送的數(shù)據(jù) 'lastModified'=>function(){ return?1432817564; } ] ]; } public?function?actionIndex(){ echo?'海草舞'; } }
查看全部
舉報(bào)