欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Yii框架應(yīng)用組件用法實(shí)例分析

 更新時(shí)間:2020年05月15日 11:32:30   作者:人生如初見(jiàn)_張默  
這篇文章主要介紹了Yii框架應(yīng)用組件用法,結(jié)合實(shí)例形式分析了Yii應(yīng)用組件基本功能、定義、使用方法及操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Yii框架應(yīng)用組件用法。分享給大家供大家參考,具體如下:

應(yīng)用組件

應(yīng)用主體是服務(wù)定位器, 它部署一組提供各種不同功能的 應(yīng)用組件 來(lái)處理請(qǐng)求。 例如,urlManager組件負(fù)責(zé)處理網(wǎng)頁(yè)請(qǐng)求路由到對(duì)應(yīng)的控制器。 db組件提供數(shù)據(jù)庫(kù)相關(guān)服務(wù)等等。

在同一個(gè)應(yīng)用中,每個(gè)應(yīng)用組件都有一個(gè)獨(dú)一無(wú)二的 ID 用來(lái)區(qū)分其他應(yīng)用組件, 你可以通過(guò)如下表達(dá)式訪問(wèn)應(yīng)用組件。

\Yii::$app->componentID

例如,可以使用 \Yii::$app->db 來(lái)獲取到已注冊(cè)到應(yīng)用的 DB connection, 使用 \Yii::$app->cache 來(lái)獲取到已注冊(cè)到應(yīng)用的 primary cache。

第一次使用以上表達(dá)式時(shí)候會(huì)創(chuàng)建應(yīng)用組件實(shí)例, 后續(xù)再訪問(wèn)會(huì)返回此實(shí)例,無(wú)需再次創(chuàng)建。

應(yīng)用組件可以是任意對(duì)象,可以在 應(yīng)用主體配置配置 yii\base\Application::$components 屬性。 例如:

[
  'components' => [
    // 使用類(lèi)名注冊(cè) "cache" 組件
    'cache' => 'yii\caching\ApcCache',
 
    // 使用配置數(shù)組注冊(cè) "db" 組件
    'db' => [
      'class' => 'yii\db\Connection',
      'dsn' => 'mysql:host=localhost;dbname=demo',
      'username' => 'root',
      'password' => '',
    ],
 
    // 使用函數(shù)注冊(cè)"search" 組件
    'search' => function () {
      return new app\components\SolrService;
    },
  ],
]

信息: 請(qǐng)謹(jǐn)慎注冊(cè)太多應(yīng)用組件, 應(yīng)用組件就像全局變量, 使用太多可能加大測(cè)試和維護(hù)的難度。 一般情況下可以在需要時(shí)再創(chuàng)建本地組件。

引導(dǎo)啟動(dòng)組件

上面提到一個(gè)應(yīng)用組件只會(huì)在第一次訪問(wèn)時(shí)實(shí)例化, 如果處理請(qǐng)求過(guò)程沒(méi)有訪問(wèn)的話就不實(shí)例化。 有時(shí)你想在每個(gè)請(qǐng)求處理過(guò)程都實(shí)例化某個(gè)組件即便它不會(huì)被訪問(wèn), 可以將該組件ID加入到應(yīng)用主體的 bootstrap 屬性中。

你還可以使用閉包來(lái)引導(dǎo)啟動(dòng)自定義的組件。不需要直接返回一個(gè)實(shí)例化的組件。 在應(yīng)用主體 yii\base\Application 實(shí)例化后,閉包也會(huì)被調(diào)用。

例如, 如下的應(yīng)用主體配置保證了 log 組件一直被加載。

[
  'bootstrap' => [
    'log',
    function($app){
      return new ComponentX();
    },
    function($app){
      // 可以寫(xiě)自定義的代碼
      return;
    }
  ],
  'components' => [
    'log' => [
      // "log" 組件的配置
    ],
  ],
]

核心應(yīng)用組件

Yii 定義了一組固定ID和默認(rèn)配置的 核心 組件, 例如 request 組件 用來(lái)收集用戶請(qǐng)求并解析 路由; db 代表一個(gè)可以執(zhí)行數(shù)據(jù)庫(kù)操作的數(shù)據(jù)庫(kù)連接。 通過(guò)這些組件,Yii應(yīng)用主體能處理用戶請(qǐng)求。

下面是預(yù)定義的核心應(yīng)用組件列表, 可以和普通應(yīng)用組件一樣配置和自定義它們。 當(dāng)你配置一個(gè)核心組件,不指定它的類(lèi)名的話就會(huì)使用Yii默認(rèn)指定的類(lèi)。

更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門(mén)及常用技巧總結(jié)》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《smarty模板入門(mén)基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總

希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 淺談php中變量的數(shù)據(jù)類(lèi)型判斷函數(shù)

    淺談php中變量的數(shù)據(jù)類(lèi)型判斷函數(shù)

    下面小編就為大家?guī)?lái)一篇淺談php中變量的數(shù)據(jù)類(lèi)型判斷函數(shù)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • 微信小程序之支付后調(diào)用SDK的異步通知及驗(yàn)證處理訂單方法

    微信小程序之支付后調(diào)用SDK的異步通知及驗(yàn)證處理訂單方法

    下面小編就為大家分享一篇微信小程序之支付后調(diào)用SDK的異步通知及驗(yàn)證處理訂單方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助
    2018-01-01
  • php數(shù)組去除空值函數(shù)分享

    php數(shù)組去除空值函數(shù)分享

    本文給大家分享一個(gè)使用php制作數(shù)組去除空值函數(shù),非常實(shí)用,推薦給大家,希望大家能夠喜歡。
    2015-02-02
  • 解決Laravel使用驗(yàn)證時(shí)跳轉(zhuǎn)到首頁(yè)的問(wèn)題

    解決Laravel使用驗(yàn)證時(shí)跳轉(zhuǎn)到首頁(yè)的問(wèn)題

    當(dāng)我們?cè)谑褂胿alidate等方法進(jìn)行驗(yàn)證時(shí),如果是錯(cuò)誤,則會(huì)返回首頁(yè),那么這個(gè)跳轉(zhuǎn)到首頁(yè)如何實(shí)現(xiàn)的呢?今天小編給大家分享一篇教程關(guān)于Laravel使用驗(yàn)證時(shí)跳轉(zhuǎn)到首頁(yè)的解決辦法,一起看看吧
    2021-10-10
  • PHP中__set()實(shí)例用法和基礎(chǔ)講解

    PHP中__set()實(shí)例用法和基礎(chǔ)講解

    在本篇文章里小編給大家整理了關(guān)于HP中__set()實(shí)例用法和基礎(chǔ)講解,對(duì)此有需要的朋友們可以學(xué)習(xí)參考下。
    2019-07-07
  • Laravel框架實(shí)現(xiàn)多數(shù)據(jù)庫(kù)連接操作詳解

    Laravel框架實(shí)現(xiàn)多數(shù)據(jù)庫(kù)連接操作詳解

    這篇文章主要介紹了Laravel框架實(shí)現(xiàn)多數(shù)據(jù)庫(kù)連接操作,結(jié)合實(shí)例形式詳細(xì)分析了Laravel框架連接2個(gè)數(shù)據(jù)庫(kù)的具體操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-07-07
  • PHPCMS V9 添加二級(jí)導(dǎo)航的思路詳解

    PHPCMS V9 添加二級(jí)導(dǎo)航的思路詳解

    這篇文章主要介紹了PHPCMS V9 添加二級(jí)導(dǎo)航所遇到些問(wèn)題,查詢導(dǎo)航欄的信息時(shí)返回的$r[arrchildid]與自己想象的不符,文檔上說(shuō)是返回子欄目id但是卻有些不同。下面小編通過(guò)分享本文給大家解答下
    2016-10-10
  • php獲取漢字首字母的函數(shù)

    php獲取漢字首字母的函數(shù)

    本文介紹用php實(shí)現(xiàn)漢字轉(zhuǎn)化為首字母的方法,主要功能是:功能明確,易于修改維護(hù)和擴(kuò)展; 英文的字串:不變返回(包括數(shù)字);中文字符串:返回拼音首字符; 中英混合串: 返回拼音首字符和英文
    2013-11-11
  • Yii中CGridView關(guān)聯(lián)表搜索排序方法實(shí)例詳解

    Yii中CGridView關(guān)聯(lián)表搜索排序方法實(shí)例詳解

    這篇文章主要介紹了Yii中CGridView關(guān)聯(lián)表搜索排序方法,以實(shí)例形式詳細(xì)分析了CGridView關(guān)聯(lián)表搜索排序的實(shí)現(xiàn)過(guò)程與搜索結(jié)果出現(xiàn)問(wèn)題的解決方法,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-12-12
  • 基于PHP+mysql實(shí)現(xiàn)新聞發(fā)布系統(tǒng)的開(kāi)發(fā)

    基于PHP+mysql實(shí)現(xiàn)新聞發(fā)布系統(tǒng)的開(kāi)發(fā)

    這篇文章主要介紹了基于PHP+mysql實(shí)現(xiàn)新聞發(fā)布系統(tǒng)的開(kāi)發(fā),文章通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下 面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08

最新評(píng)論