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

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

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下載

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

公眾號

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

友情提示:

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