|
|
|
|
移动端

2.4 输出“Hello World”

《Yii框架深度剖析》第2章Yii框架基础,从本章开始,我们将通过由浅入深的方式介绍Yii框架的各个部分,希望读者逐步了解Yii框架。本节为大家介绍输出“Hello World”。

作者:刘琨来源:人民邮电出版社|2017-11-23 17:45

年前最后一场技术盛宴 | 1月27日与京东、日志易技术大咖畅聊智能化运维发展趋势!


2.4 输出“Hello World”

首先,在新的应用上编写一个“Hello World”程序来试用这个框架。“Hello World”程序在Yii中是一个简单的Web程序,它发送信息到浏览器。

一个典型Yii的Web应用程序执行流程从用户通过浏览器输入一个请求后开始,Yii应用程序首先解析该请求的信息,去查找一个对应的控制器,然后调用该控制器内的动作方法。在该动作方法中,可以渲染一个特定的视图,然后将渲染后的内容返回给用户。如果需要处理数据,那么控制器可以调用模型来处理创建、读取、更新和删除(CRUD)等数据库操作。

本章中的这个“Hello World”示例,只需要一个控制器和视图,不处理任何数据,这样将不需要模型。接下来让我们开始创建控制器。

创建一个新的控制器,PHP文件名是MessageController.php,并放到控制器目录protected/controllers中。新创建的MessageController类继承应用程序的基类Controller,它的位置是protected/components/Controller.php。由于MessageController类继承了框架的基础类Ccontroller,因此,它继承了Ccontroller类默认的所有行为。在MessageController类中创建一个actionOutput()动作方法。下面的代码是MessageController类的内容。

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

视图文件与控制器关联,默认存放在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.用户发送了访问http://hostname/index.php?r=message/output的请求, Web 服务器通过执行入口脚本index.php处理此请求。

2.入口脚本创建了一个应用实例对象并执行。

3.应用实例对象分析这个URL,controllerID是message,它将告诉Yii应该去请求MessageController.php文件,这个文件的位置是protected/controllers/MessageController.php。Yii还发现,actionID指定的是output,因此,会调用MessageController类中的actionOutput()操作方法。

4.actionOutput()方法会渲染helloworld.php视图文件,这个文件的位置是protected/ views/message/helloworld.php。

5.动作方法完成视图渲染并将其返回给浏览器。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Oracle 10g应用指导与案例精讲

本书作者结合自己多年实践经验,从Oracle开发应用中遇到的问题着手,全面系统地介绍Oracle的安装与卸载、数据字典、安全管理以及用PL/SQL开...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊