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

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

運(yùn)行應(yīng)用

運(yùn)行應(yīng)用

安裝 Yii 后,就有了一個(gè)可運(yùn)行的 Yii 應(yīng)用,根據(jù)配置的不同,可以通過(guò)?http://hostname/basic/web/index.php?或http://hostname/index.php?訪問(wèn)。本章節(jié)將介紹應(yīng)用的內(nèi)建功能,如何組織代碼,以及一般情況下應(yīng)用如何處理請(qǐng)求。

補(bǔ)充:為簡(jiǎn)單起見(jiàn),在整個(gè)“入門(mén)”板塊都假定你已經(jīng)把?basic/web?設(shè)為 Web 服務(wù)器根目錄并配置完畢,你訪問(wèn)應(yīng)用的地址會(huì)是http://lostname/index.php?或類似的。請(qǐng)按需調(diào)整 URL。

功能

一個(gè)安裝完的基本應(yīng)用包含四頁(yè):

  • 主頁(yè),當(dāng)你訪問(wèn)?http://hostname/index.php?時(shí)顯示,
  • “About” 頁(yè),
  • “Contact” 頁(yè), 顯示一個(gè)聯(lián)系表單,允許終端用戶通過(guò) Email 聯(lián)系你,
  • “Login” 頁(yè), 顯示一個(gè)登錄表單,用來(lái)驗(yàn)證終端用戶。試著用 “admin/admin” 登錄,你可以看到當(dāng)前是登錄狀態(tài),已經(jīng)可以“退出登錄”了。

這些頁(yè)面使用同一個(gè)頭部和尾部。頭部包含了一個(gè)可以在不同頁(yè)面間切換的導(dǎo)航欄。

在瀏覽器底部可以看到一個(gè)工具欄。這是 Yii 提供的很有用的調(diào)試工具,可以記錄并顯示大量的調(diào)試信息,例如日志信息,響應(yīng)狀態(tài),數(shù)據(jù)庫(kù)查詢等等。

應(yīng)用結(jié)構(gòu)

應(yīng)用中最重要的目錄和文件(假設(shè)應(yīng)用根目錄是?basic):

basic/                  應(yīng)用根目錄
    composer.json       Composer 配置文件, 描述包信息
    config/             包含應(yīng)用配置及其它配置
        console.php     控制臺(tái)應(yīng)用配置信息
        web.php         Web 應(yīng)用配置信息
    commands/           包含控制臺(tái)命令類
    controllers/        包含控制器類
    models/             包含模型類
    runtime/            包含 Yii 在運(yùn)行時(shí)生成的文件,例如日志和緩存文件
    vendor/             包含已經(jīng)安裝的 Composer 包,包括 Yii 框架自身
    views/              包含視圖文件
    web/                Web 應(yīng)用根目錄,包含 Web 入口文件
        assets/         包含 Yii 發(fā)布的資源文件(javascript 和 css)
        index.php       應(yīng)用入口文件
    yii                 Yii 控制臺(tái)命令執(zhí)行腳本

一般來(lái)說(shuō),應(yīng)用中的文件可被分為兩類:在?basic/web?下的和在其它目錄下的。前者可以直接通過(guò) HTTP 訪問(wèn)(例如瀏覽器),后者不能也不應(yīng)該被直接訪問(wèn)。

Yii 實(shí)現(xiàn)了模型-視圖-控制器 (MVC)設(shè)計(jì)模式,這點(diǎn)在上述目錄結(jié)構(gòu)中也得以體現(xiàn)。?models?目錄包含了所有模型類,views?目錄包含了所有視圖腳本,controllers?目錄包含了所有控制器類。

以下圖表展示了一個(gè)應(yīng)用的靜態(tài)結(jié)構(gòu):

應(yīng)用靜態(tài)結(jié)構(gòu)

每個(gè)應(yīng)用都有一個(gè)入口腳本?web/index.php,這是整個(gè)應(yīng)用中唯一可以訪問(wèn)的 PHP 腳本。入口腳本接受一個(gè) Web 請(qǐng)求并創(chuàng)建應(yīng)用實(shí)例去處理它。?應(yīng)用在它的組建輔助下解析請(qǐng)求,并分派請(qǐng)求至 MVC 元素。視圖使用小部件去創(chuàng)建復(fù)雜和動(dòng)態(tài)的用戶界面。

請(qǐng)求生命周期

以下圖表展示了一個(gè)應(yīng)用如何處理請(qǐng)求:

請(qǐng)求生命周期

  1. 用戶向入口腳本?web/index.php?發(fā)起請(qǐng)求。
  2. 入口腳本加載應(yīng)用配置并創(chuàng)建一個(gè)應(yīng)用實(shí)例去處理請(qǐng)求。
  3. 應(yīng)用通過(guò)請(qǐng)求組件解析請(qǐng)求的路由。
  4. 應(yīng)用創(chuàng)建一個(gè)控制器實(shí)例去處理請(qǐng)求。
  5. 控制器創(chuàng)建一個(gè)操作實(shí)例并針對(duì)操作執(zhí)行過(guò)濾器。
  6. 如果任何一個(gè)過(guò)濾器返回失敗,則操作退出。
  7. 如果所有過(guò)濾器都通過(guò),操作將被執(zhí)行。
  8. 操作會(huì)加載一個(gè)數(shù)據(jù)模型,或許是來(lái)自數(shù)據(jù)庫(kù)。
  9. 操作會(huì)渲染一個(gè)視圖,把數(shù)據(jù)模型提供給它。
  10. 渲染結(jié)果返回給響應(yīng)組件。
  11. 響應(yīng)組件發(fā)送渲染結(jié)果給用戶瀏覽器。
Previous article: Next article: