亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Verzeichnis suchen
閱讀前篇 簡介 Yii 是什么 從 Yii 1.1 升級 入門 安裝 Yii 運行應用 第一次問候 使用Forms 數(shù)據(jù)庫應用 使用 Gii 生成代碼 進階 應用結(jié)構(gòu) 概述 入口腳本 應用(Applications) 應用組件(Application Components) 控制器(Controllers) 模型(Models) 視圖(views) 模塊(Modules) 過濾器(Filters) 小部件(Widgets) 前端資源(Assets) 擴展(Extensions) 請求處理 運行概述 啟動引導(Bootstrapping) 路由和創(chuàng)建URL 請求(Requests) 響應(Responses) Sessions 和 Cookies 錯誤處理(Handling Errors) 日志(Logging) 關鍵概念 組件(Component) 屬性(Property) 事件(Events) 行為(Behaviors) 配置(Configurations) 別名(Aliases) 類自動加載(Autoloading) 服務定位器(Service Locator) 依賴注入容器(Dependency Injection Container) 配合數(shù)據(jù)庫工作 數(shù)據(jù)庫訪問 (Data Access Objects) 查詢生成器(Query Builder) 活動記錄(Active Record) 數(shù)據(jù)庫遷移(Migrations) Sphinx Redis MongoDB Elasticsearch 接收用戶數(shù)據(jù) 創(chuàng)建表單(Creating Forms) 輸入驗證(Validating Input) 文件上傳(Uploading Files) 收集列表輸入(Collecting Tabular Input) 多模型的復合表單(Getting Data for Multiple Models) 顯示數(shù)據(jù) 格式化輸出數(shù)據(jù)(Data Formatting) 分頁(Pagination) 排序(Sorting) 數(shù)據(jù)提供器(Data Providers) 數(shù)據(jù)小部件(Data Widgets) 客戶端腳本使用(Working with Client Scripts) 主題(Theming) 安全 認證(Authentication) 授權(quán)(Authorization) 處理密碼(Working with Passwords) 客戶端認證(Auth Clients) 最佳安全實踐(Best Practices) 緩存 概述 數(shù)據(jù)緩存 片段緩存 頁面緩存 HTTP 緩存 RESTfull Web服務 快速入門(Quick Start) 資源(Resources) 控制器(Controllers) 路由(Routing) 格式化響應(Response Formatting) 授權(quán)認證(Authentication) 速率限制(Rate Limiting) 版本(Versioning) 錯誤處理(Error Handling) 開發(fā)工具 調(diào)試工具欄和調(diào)試器 使用Gii生成代碼 生成API文檔 測試 概述(Overview) 配置測試環(huán)境(Testing environment setup) 單元測試(Unit Tests) 功能測試(Function Tests) 驗收測試(Acceptance Tests) 測試夾具(Fixtures) 高級專題 高級應用模板 創(chuàng)建自定義應用程序結(jié)構(gòu) 控制臺命令 核心驗證器(Core Validators) 國際化 收發(fā)郵件 性能優(yōu)化 共享主機環(huán)境 模板引擎 集成第三方代碼 小部件 Bootstrap 小部件 Jquery UI 助手類 概述 Array 助手(ArrayHelper) Html 助手(Html) Url 助手(Url)
Figuren

應用組件

應用組件

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

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

\Yii::$app->componentID

例如,可以使用?\Yii::$app->db?來獲取到已注冊到應用的 yii\db\Connection, 使用?\Yii::$app->cache?來獲取到已注冊到應用的 yii\caching\Cache。

第一次使用以上表達式時候會創(chuàng)建應用組件實例,后續(xù)再訪問會返回此實例,無需再次創(chuà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;
        },
    ],
]

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

引導啟動組件

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

例如, 如下的應用主體配置保證了?log?組件一直被加載。

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

核心應用組件

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

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

  • yii\web\AssetManager: 管理資源包和資源發(fā)布,詳情請參考?管理資源?一節(jié)。
  • yii\db\Connection: 代表一個可以執(zhí)行數(shù)據(jù)庫操作的數(shù)據(jù)庫連接, 注意配置該組件時必須指定組件類名和其他相關組件屬性,如yii\db\Connection::dsn。 詳情請參考?數(shù)據(jù)訪問對象?一節(jié)。
  • yii\base\Application::errorHandler: 處理 PHP 錯誤和異常, 詳情請參考?錯誤處理?一節(jié)。
  • yii\i18n\Formatter: 格式化輸出顯示給終端用戶的數(shù)據(jù),例如數(shù)字可能要帶分隔符, 日期使用長格式。詳情請參考?格式化輸出數(shù)據(jù)一節(jié)。
  • yii\i18n\I18N: 支持信息翻譯和格式化。詳情請參考?國際化?一節(jié)。
  • yii\log\Dispatcher: 管理日志對象。詳情請參考?日志?一節(jié)。
  • yii\swiftmailer\Mailer: 支持生成郵件結(jié)構(gòu)并發(fā)送,詳情請參考?郵件?一節(jié)。
  • yii\base\Application::response: 代表發(fā)送給用戶的響應, 詳情請參考?響應?一節(jié)。
  • yii\base\Application::request: 代表從終端用戶處接收到的請求, 詳情請參考?請求?一節(jié)。
  • yii\web\Session: 代表會話信息,僅在yii\web\Application 網(wǎng)頁應用中可用, 詳情請參考?Sessions (會話) and Cookies?一節(jié)。
  • yii\web\UrlManager: 支持URL地址解析和創(chuàng)建, 詳情請參考?URL 解析和生成?一節(jié)。
  • yii\web\User: 代表認證登錄用戶信息,僅在yii\web\Application 網(wǎng)頁應用中可用, 詳情請參考?認證?一節(jié)。
  • yii\web\View: 支持渲染視圖,詳情請參考?Views?一節(jié)。
Vorheriger Artikel: N?chster Artikel: