新聞中心
2.4 輸出“Hello World”
作者:劉琨 2017-11-23 17:45:46
云計(jì)算 《Yii框架深度剖析》第2章Yii框架基礎(chǔ),從本章開始,我們將通過由淺入深的方式介紹Yii框架的各個(gè)部分,希望讀者逐步了解Yii框架。本節(jié)為大家介紹輸出“Hello World”。

2.4 輸出“Hello World”
首先,在新的應(yīng)用上編寫一個(gè)“Hello World”程序來試用這個(gè)框架?!癏ello World”程序在Yii中是一個(gè)簡單的Web程序,它發(fā)送信息到瀏覽器。
一個(gè)典型Yii的Web應(yīng)用程序執(zhí)行流程從用戶通過瀏覽器輸入一個(gè)請(qǐng)求后開始,Yii應(yīng)用程序首先解析該請(qǐng)求的信息,去查找一個(gè)對(duì)應(yīng)的控制器,然后調(diào)用該控制器內(nèi)的動(dòng)作方法。在該動(dòng)作方法中,可以渲染一個(gè)特定的視圖,然后將渲染后的內(nèi)容返回給用戶。如果需要處理數(shù)據(jù),那么控制器可以調(diào)用模型來處理創(chuàng)建、讀取、更新和刪除(CRUD)等數(shù)據(jù)庫操作。
本章中的這個(gè)“Hello World”示例,只需要一個(gè)控制器和視圖,不處理任何數(shù)據(jù),這樣將不需要模型。接下來讓我們開始創(chuàng)建控制器。
創(chuàng)建一個(gè)新的控制器,PHP文件名是MessageController.php,并放到控制器目錄protected/controllers中。新創(chuàng)建的MessageController類繼承應(yīng)用程序的基類Controller,它的位置是protected/components/Controller.php。由于MessageController類繼承了框架的基礎(chǔ)類Ccontroller,因此,它繼承了Ccontroller類默認(rèn)的所有行為。在MessageController類中創(chuàng)建一個(gè)actionOutput()動(dòng)作方法。下面的代碼是MessageController類的內(nèi)容。
- class MessageController extends Controller
- {
- public function actionOutput()
- {
- $this->render('helloWorld');
- }
- }
視圖文件與控制器關(guān)聯(lián),默認(rèn)存放在protected/views/message下。編輯protected/views/ message/helloWorld.php,修改成如下代碼:
Hello, World!
保存代碼,并訪問http://hostname/dscms/index.php?r=message/output,頁面如圖2-12所示。
回顧一下運(yùn)行這個(gè)應(yīng)用程序時(shí)Yii框架是如何分析的,如圖2-13所示。
1.用戶發(fā)送了訪問http://hostname/index.php?r=message/output的請(qǐng)求, Web 服務(wù)器通過執(zhí)行入口腳本index.php處理此請(qǐng)求。
2.入口腳本創(chuàng)建了一個(gè)應(yīng)用實(shí)例對(duì)象并執(zhí)行。
3.應(yīng)用實(shí)例對(duì)象分析這個(gè)URL,controllerID是message,它將告訴Yii應(yīng)該去請(qǐng)求MessageController.php文件,這個(gè)文件的位置是protected/controllers/MessageController.php。Yii還發(fā)現(xiàn),actionID指定的是output,因此,會(huì)調(diào)用MessageController類中的actionOutput()操作方法。
4.a(chǎn)ctionOutput()方法會(huì)渲染helloworld.php視圖文件,這個(gè)文件的位置是protected/ views/message/helloworld.php。
5.動(dòng)作方法完成視圖渲染并將其返回給瀏覽器。
喜歡的朋友可以添加我們的微信賬號(hào):
51CTO讀書頻道二維碼
51CTO讀書頻道活動(dòng)討論群:365934973
網(wǎng)站題目:2.4 輸出“HelloWorld”
轉(zhuǎn)載來源:http://fisionsoft.com.cn/article/djjjojc.html


咨詢
建站咨詢
