Yii框架快速入门[Yii简介及运行原理]

Yii是一个基于组件、用于开发大型 Web 应用的 高性能 PHP 框架。采用严格的 OOP 编写,Yii 使用简单,非常灵活,具有很好的可扩展性。Yii官方下载

包含特性

1. MVC、DAO/ActiveRecord、I18N/L10N、caching

2. 基于 JQuery 的 AJAX 支持、用户认证和基于角色的访问控制

3. 脚手架、输入验证、部件、事件、主题化以及 Web 服务等等

在我们的程序开发中,为了缩短开发时间,也经常使用Yii来代替一些原生的代码编写。

Yii运行原理

要想深入的学习一项框架,必须先要了解它的运行原理。

不管你是无意还是有意,我们的应用程序总可以按MVC模式进行划分。Yii中比较常用的也是MVC模式,不过它是在这种模式之上又添加了前端控制器,名为“应用”。应用处理用户的请求并将其分派到一个合适的控制器以继续处理。

Yii的静态结构

Yii的工作流程

1. 用户发出了访问 URL http://www.example.com/index.php?r=post/show&id=1 的请求, Web 服务器通过执行入口脚本 index.php 处理此请求。

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

3. 应用从一个叫做 request 的 应用组件 中获得了用户请求的详细信息。

4. 应用在一个名叫 urlManager 的应用组件的帮助下,决定请求的 控制器 和 动作 。在这个例子中,控制器是post,它代表 PostController 类; 动作是 show ,其实际含义由控制器决定。

5. 应用创建了一个所请求控制器的实例以进一步处理用户请求。控制器决定了动作 show 指向控制器类中的一个名为 actionShow 的方法。然后它创建并持行了与动作关联的过滤器(例如访问控制,基准测试)。 如果过滤器允许,动作将被执行。

6. 动作从数据库中读取一个 ID 为 1 的 Post模型。

7. 动作通过 Post 模型渲染一个名为 show 的 视图。

8. 视图读取并显示 Post 模型的属性。

9. 视图执行一些 小物件。

10. 视图的渲染结果被插入一个 布局。

11. 动作完成视图渲染并将其呈现给用户。

而普通MVC框架是把控制器作为应用程序核心,当用户发出请求后,入口脚本会直接根据用户请求分配控制器并执行相应的动作,并创建对应模型,控制器把查询数据跟视图组合后再返回给用户。但是在做大型WEB程序时,效率会偏低。

所以,Yii对一些运行效率较高的项目还是比较适合的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注