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

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

安裝 Yii 后,就有了一個(gè)可運(yùn)行的 Yii 應(yīng)用, 根據(jù)配置的不同,可以通過
http://hostname/basic/web/index.phphttp://hostname/index.php 訪問。
本章節(jié)將介紹應(yīng)用的內(nèi)建功能,如何組織代碼, 以及一般情況下應(yīng)用如何處理請求。
補(bǔ)充:為簡單起見,在整個(gè)“入門”板塊都假定你已經(jīng)把 basic/web
設(shè)為 Web 服務(wù)器根目錄并配置完畢, 你訪問應(yīng)用的地址會(huì)是http://lostname/index.php
或類似的。 請按需調(diào)整 URL。

Note that unlike framework itself, after project template is installed it's all yours. You're free to add or delete code and overall modify it as you need.

功能

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

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

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

Additionally to the web application, there is a console script called yii
, which is located in the applications base directory. This script can be used to run background and maintenance tasks for the application, which are described in the Console Application Section.

執(zhí)行命令
php yii serve
監(jiān)聽localhost:8080
(如果端口8080被占用,可以使用命令:php yii serve --port='你要監(jiān)聽的端口號(hào)'監(jiān)聽端口)

現(xiàn)在可以使用瀏覽器通過如下 URL 訪問剛安裝完的 Yii 應(yīng)用了:
http://localhost:8080/

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):


靜態(tài)結(jié)構(gòu).png

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

請求生命周期

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


請求生命周期

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • 一、入口文件 入口文件內(nèi)容:一般格式如下: 二、主配置文件 保存位置:你的應(yīng)用/protected/config/...
    layjoy閱讀 1,257評論 4 14
  • yii處理http請求時(shí),執(zhí)行的流程是這樣的: 1、服務(wù)器接收到來自客戶端(比如瀏覽器)的請求,服務(wù)器(比如ngi...
    小羊羊愛吃飯閱讀 806評論 0 0
  • 從三月份找實(shí)習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,799評論 11 349
  • 22年12月更新:個(gè)人網(wǎng)站關(guān)停,如果仍舊對舊教程有興趣參考 Github 的markdown內(nèi)容[https://...
    tangyefei閱讀 35,401評論 22 257

友情鏈接更多精彩內(nèi)容