安裝 Yii 后,就有了一個可運行的 Yii 應用,根據(jù)配置的不同,可以通過 http://hostname/basic/web/index.php
或 http://hostname/index.php
訪問。本章節(jié)將介紹應用的內(nèi)建功能,如何組織代碼,以及一般情況下應用如何處理請求。
補充:為簡單起見,在整個“入門”板塊都假定你已經(jīng)把
basic/web
設為 Web 服務器根目錄并配置完畢,你訪問應用的地址會是http://lostname/index.php
或類似的。請按需調(diào)整 URL。
一個安裝完的基本應用包含四頁:
http://hostname/index.php
時顯示,這些頁面使用同一個頭部和尾部。頭部包含了一個可以在不同頁面間切換的導航欄。
在瀏覽器底部可以看到一個工具欄。這是 Yii 提供的很有用的調(diào)試工具,可以記錄并顯示大量的調(diào)試信息,例如日志信息,響應狀態(tài),數(shù)據(jù)庫查詢等等。
應用中最重要的目錄和文件(假設應用根目錄是 basic
):
basic/ 應用根目錄
composer.json Composer 配置文件, 描述包信息
config/ 包含應用配置及其它配置
console.php 控制臺應用配置信息
web.php Web 應用配置信息
commands/ 包含控制臺命令類
controllers/ 包含控制器類
models/ 包含模型類
runtime/ 包含 Yii 在運行時生成的文件,例如日志和緩存文件
vendor/ 包含已經(jīng)安裝的 Composer 包,包括 Yii 框架自身
views/ 包含視圖文件
web/ Web 應用根目錄,包含 Web 入口文件
assets/ 包含 Yii 發(fā)布的資源文件(javascript 和 css)
index.php 應用入口文件
yii Yii 控制臺命令執(zhí)行腳本
一般來說,應用中的文件可被分為兩類:在 basic/web
下的和在其它目錄下的。前者可以直接通過 HTTP 訪問(例如瀏覽器),后者不能也不應該被直接訪問。
Yii 實現(xiàn)了模型-視圖-控制器 (MVC)設計模式,這點在上述目錄結(jié)構(gòu)中也得以體現(xiàn)。 models
目錄包含了所有模型類,views
目錄包含了所有視圖腳本,controllers
目錄包含了所有控制器類。
以下圖表展示了一個應用的靜態(tài)結(jié)構(gòu):
http://wiki.jikexueyuan.com/project/yii-2.0-guide/images/application-structure.png" alt="應用靜態(tài)結(jié)構(gòu)" />
每個應用都有一個入口腳本 web/index.php
,這是整個應用中唯一可以訪問的 PHP 腳本。入口腳本接受一個 Web 請求并創(chuàng)建應用實例去處理它。 應用在它的組建輔助下解析請求,并分派請求至 MVC 元素。視圖使用小部件去創(chuàng)建復雜和動態(tài)的用戶界面。
以下圖表展示了一個應用如何處理請求:
http://wiki.jikexueyuan.com/project/yii-2.0-guide/images/request-lifecycle.png" alt="請求生命周期" />
web/index.php
發(fā)起請求。