自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

2.4 輸出“Hello World”

云計算
《Yii框架深度剖析》第2章Yii框架基礎,從本章開始,我們將通過由淺入深的方式介紹Yii框架的各個部分,希望讀者逐步了解Yii框架。本節(jié)為大家介紹輸出“Hello World”。

2.4 輸出“Hello World”

首先,在新的應用上編寫一個“Hello World”程序來試用這個框架。“Hello World”程序在Yii中是一個簡單的Web程序,它發(fā)送信息到瀏覽器。

一個典型Yii的Web應用程序執(zhí)行流程從用戶通過瀏覽器輸入一個請求后開始,Yii應用程序首先解析該請求的信息,去查找一個對應的控制器,然后調(diào)用該控制器內(nèi)的動作方法。在該動作方法中,可以渲染一個特定的視圖,然后將渲染后的內(nèi)容返回給用戶。如果需要處理數(shù)據(jù),那么控制器可以調(diào)用模型來處理創(chuàng)建、讀取、更新和刪除(CRUD)等數(shù)據(jù)庫操作。

本章中的這個“Hello World”示例,只需要一個控制器和視圖,不處理任何數(shù)據(jù),這樣將不需要模型。接下來讓我們開始創(chuàng)建控制器。

創(chuàng)建一個新的控制器,PHP文件名是MessageController.php,并放到控制器目錄protected/controllers中。新創(chuàng)建的MessageController類繼承應用程序的基類Controller,它的位置是protected/components/Controller.php。由于MessageController類繼承了框架的基礎類Ccontroller,因此,它繼承了Ccontroller類默認的所有行為。在MessageController類中創(chuàng)建一個actionOutput()動作方法。下面的代碼是MessageController類的內(nèi)容。
 

  1. <?php 
  2. class MessageController extends Controller  
  3. {  
  4. public function actionOutput()  
  5. {  
  6. $this->render('helloWorld');  
  7. }  

視圖文件與控制器關(guān)聯(lián),默認存放在protected/views/message下。編輯protected/views/ message/helloWorld.php,修改成如下代碼:
 

  1. <h1>Hello, World!</h1> 

保存代碼,并訪問http://hostname/dscms/index.php?r=message/output,頁面如圖2-12所示。
 

回顧一下運行這個應用程序時Yii框架是如何分析的,如圖2-13所示。
 

1.用戶發(fā)送了訪問http://hostname/index.php?r=message/output的請求, Web 服務器通過執(zhí)行入口腳本index.php處理此請求。

2.入口腳本創(chuàng)建了一個應用實例對象并執(zhí)行。

3.應用實例對象分析這個URL,controllerID是message,它將告訴Yii應該去請求MessageController.php文件,這個文件的位置是protected/controllers/MessageController.php。Yii還發(fā)現(xiàn),actionID指定的是output,因此,會調(diào)用MessageController類中的actionOutput()操作方法。

4.a(chǎn)ctionOutput()方法會渲染helloworld.php視圖文件,這個文件的位置是protected/ views/message/helloworld.php。

5.動作方法完成視圖渲染并將其返回給瀏覽器。
 

 

喜歡的朋友可以添加我們的微信賬號:

51CTO讀書頻道二維碼


51CTO讀書頻道活動討論群:365934973

責任編輯:book 來源: 人民郵電出版社
相關(guān)推薦

2014-12-19 10:07:10

C

2012-02-20 14:26:48

JavaPlay Framew

2009-07-30 13:21:17

Scala入門Hello World

2009-09-16 17:15:19

OSGi Bundle

2009-08-11 10:32:23

什么是Groovy

2023-01-06 08:18:44

2023-09-04 07:30:03

Wasm匯編語言

2011-06-08 14:39:06

Qt 教程

2021-11-26 08:22:01

Java動態(tài)開發(fā)

2009-08-14 16:54:19

C# Hello Wo

2024-04-11 13:13:27

2011-08-05 09:48:46

iPhone Interface

2014-04-11 11:36:42

NDKAndroid開發(fā)終端

2023-05-23 08:01:10

Netty網(wǎng)絡通信

2017-11-28 16:57:18

2021-03-30 13:48:47

WebAssemblyWeb瀏覽器編程語言

2009-06-11 14:00:34

jBPM用戶指南jBPM范例

2015-10-27 09:47:11

2013-12-12 17:30:03

Lua例子

2017-06-26 08:55:52

點贊
收藏

51CTO技術(shù)棧公眾號