国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 php教程 PHP開發(fā) Yii2.0應(yīng)用元件

Yii2.0應(yīng)用元件

Nov 25, 2016 pm 02:18 PM

應(yīng)用主體是服務(wù)定位器,它部署一組提供各種不同功能的?應(yīng)用元件?來處理請求。 例如,urlManager元件負(fù)責(zé)處理網(wǎng)頁請求路由到對應(yīng)的控制器。 db元件提供資料庫相關(guān)服務(wù)等等。

在同一個(gè)應(yīng)用程式中,每個(gè)應(yīng)用程式元件都有一個(gè)獨(dú)特的 ID 用來區(qū)分其他應(yīng)用程式元件,你可以透過以下表達(dá)式存取應(yīng)用程式元件。

\Yii::$app->componentID

例如,可以使用?Yii::$app->db?來取得已註冊至應(yīng)用程式的[[yiidbConnection|DB connection]], 使用?Yii::$app->cache?來取得已註冊至應(yīng)用程式的[ [yiicachingCache|primary cache]]。

第一次使用以上表達(dá)式時(shí)候會建立應(yīng)用元件實(shí)例,後續(xù)再存取會傳回此實(shí)例,無需再次建立。

應(yīng)用程式元件可以是任意對象,可以在應(yīng)用主體配置配置[[yiibaseApplication::components]] 屬性. 例如:

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

補(bǔ)充:請謹(jǐn)慎註冊太多應(yīng)用元件,應(yīng)用元件就像全域變量,使用太多可能加大測試和維護(hù)的難度。 一般情況下可以在需要時(shí)再建立本機(jī)元件。

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

上面提到一個(gè)應(yīng)用元件只會在第一次存取時(shí)實(shí)例化,如果處理請求過程沒有存取的話就不實(shí)例化。 有時(shí)你會想在每個(gè)請求處理過程都實(shí)例化某個(gè)元件即便它不會被訪問, 可以將該元件ID加入到應(yīng)用程式主體的 [[yiibaseApplication::bootstrap|bootstrap]] 屬性中。

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

[
     'bootstrap' => [
         // 將 log 組件 ID 加入引導(dǎo)讓它始終載入
         'log',
     ],
     'components' => [
         'log' => [
             // "log" 組件的配置
         ],
     ],
]

核心應(yīng)用元件

Yii 定義了一組固定ID和預(yù)設(shè)設(shè)定的?核心?元件,例如[[yiiwebApplication::request|request]] 元件用來收集使用者請求並解析路由; [[yiibaseApplication::db|request]] 元件用來收集使用者請求並解析路由; [[yiibaseApplication::db| db]] 代表一個(gè)可以執(zhí)行資料庫操作的資料庫連線。 透過這些元件,Yii應(yīng)用主體能處理使用者請求。

下面是預(yù)先定義的核心應(yīng)用元件列表,可以和普通應(yīng)用元件一樣配置和自訂它們。 當(dāng)你配置一個(gè)核心元件,不指定它的類別名稱的話就會使用Yii預(yù)設(shè)指定的類別。

[[yiiwebAssetManager|assetManager]]: 管理資源包和資源發(fā)布,詳情請參考 管理資源 一節(jié)。

注意配置該元件時(shí)必須指定元件類別名稱和其他相關(guān)元件屬性,如[[yiidbConnection::dsn]]。 詳情請參考 資料存取對象 一節(jié)。

[[yiibaseApplication::errorHandler|errorHandler]]: 處理 PHP 錯(cuò)誤和異常, 詳情請參考 錯(cuò)誤處理 一節(jié)。

日期使用長格式。詳情請參考 格式化輸出資料 一節(jié)。

[[yiii18nI18N|i18n]]: 支援資訊翻譯和格式化。詳情請參考 國際化 一節(jié)。

[[yiilogDispatcher|log]]: 管理日誌物件。詳情請參考 日誌 一節(jié)。

[[yiiswiftmailerMailer|mail]]: 支援產(chǎn)生郵件結(jié)構(gòu)並傳送,詳情請參考 郵件 一節(jié)。

詳情請參考 響應(yīng) 一節(jié)。

詳情請參考 請求 一節(jié)。

[[yiiwebSession|session]]: 代表會話訊息,僅在[[yiiwebApplication|Web applications]] 網(wǎng)頁應(yīng)用中可用, 詳情請參考Sessions (會話) and Cookies 一節(jié)。

詳情請參考 URL 解析與產(chǎn)生 一節(jié)。

[[yiiwebUser|user]]: 代表認(rèn)證登入使用者訊息,僅在[[yiiwebApplication|Web applications]] 網(wǎng)頁應(yīng)用程式中可用, 詳情請參考認(rèn)證一節(jié)。

[[yiiwebView|view]]: 支援渲染視圖,詳情請參考 Views 一節(jié)。


本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)