yii一个典型的工作流

来源:互联网 发布:linux 查内存使用情况 编辑:程序博客网 时间:2024/05/23 20:40

下图展示了一个 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. 动作完成视图渲染并将其呈现给用户。             ——————————————————————————————————————————————————————
  12. .创建yiiblog应用通过gii模块

    1.户请访问这 URL http://www.example.com/blog/index.php?r=post;

    2.入口文件被web服务器执行,它创建并实例化了一个应用实例来处理此请求

    3.应用创建并执行了PostController实例;

    4.PostController势力通过调用它的actionindex()方法执行index动作,注意用户没有在URL中指定执行一个动作,

    则index就是默认的动作

    5.actionindex()方法查询数据库,带回最新的日志列表

    6.actionindex()方法使用日志数据渲染index视图。