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

Rumah php教程 PHP開發(fā) Yii2.0應(yīng)用組件

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

Nov 25, 2016 pm 02:18 PM

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

在同一個應(yīng)用中,每個應(yīng)用組件都有一個獨一無二的 ID 用來區(qū)分其他應(yīng)用組件,你可以通過如下表達式訪問應(yīng)用組件。

\Yii::$app->componentID

例如,可以使用 \Yii::$app->db 來獲取到已注冊到應(yīng)用的 [[yii\db\Connection|DB connection]], 使用 \Yii::$app->cache 來獲取到已注冊到應(yīng)用的 [[yii\caching\Cache|primary cache]]。

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

應(yīng)用組件可以是任意對象,可以在 應(yīng)用主體配置配置 [[yii\base\Application::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;
        },
    ],
]

補充:請謹慎注冊太多應(yīng)用組件,應(yīng)用組件就像全局變量,使用太多可能加大測試和維護的難度。 一般情況下可以在需要時再創(chuàng)建本地組件。

引導(dǎo)啟動組件

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

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

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

核心應(yīng)用組件

Yii 定義了一組固定ID和默認配置的?核心?組件,例如 [[yii\web\Application::request|request]] 組件 用來收集用戶請求并解析 路由; [[yii\base\Application::db|db]] 代表一個可以執(zhí)行數(shù)據(jù)庫操作的數(shù)據(jù)庫連接。 通過這些組件,Yii應(yīng)用主體能處理用戶請求。

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

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

注意配置該組件時必須指定組件類名和其他相關(guān)組件屬性,如[[yii\db\Connection::dsn]]。 詳情請參考 數(shù)據(jù)訪問對象 一節(jié)。

[[yii\base\Application::errorHandler|errorHandler]]: 處理 PHP 錯誤和異常, 詳情請參考 錯誤處理 一節(jié)。

日期使用長格式。詳情請參考 格式化輸出數(shù)據(jù) 一節(jié)。

[[yii\i18n\I18N|i18n]]: 支持信息翻譯和格式化。詳情請參考 國際化 一節(jié)。

[[yii\log\Dispatcher|log]]: 管理日志對象。詳情請參考 日志 一節(jié)。

[[yii\swiftmailer\Mailer|mail]]: 支持生成郵件結(jié)構(gòu)并發(fā)送,詳情請參考 郵件 一節(jié)。

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

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

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

詳情請參考 URL 解析和生成 一節(jié)。

[[yii\web\User|user]]: 代表認證登錄用戶信息,僅在[[yii\web\Application|Web applications]] 網(wǎng)頁應(yīng)用中可用, 詳情請參考認證一節(jié)。

[[yii\web\View|view]]: 支持渲染視圖,詳情請參考 Views 一節(jié)。


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)