• YII


    应用结构

    应用中最重要的目录和文件(假设应用根目录是 basic):

    basic/                  应用根目录
        composer.json       Composer 配置文件, 描述包信息
        config/             包含应用配置及其它配置
            console.php     控制台应用配置信息
            web.php         Web 应用配置信息
        commands/           包含控制台命令类
        controllers/        包含控制器类
        models/             包含模型类
        runtime/            包含 Yii 在运行时生成的文件,例如日志和缓存文件
        vendor/             包含已经安装的 Composer 包,包括 Yii 框架自身
        views/              包含视图文件
        web/                Web 应用根目录,包含 Web 入口文件
            assets/         包含 Yii 发布的资源文件(javascript 和 css)
            index.php       应用入口文件
        yii                 Yii 控制台命令执行脚本

    一般来说,应用中的文件可被分为两类:在 basic/web 下的和在其它目录下的。 前者可以直接通过 HTTP 访问(例如浏览器),后者不能也不应该被直接访问。

    Yii 实现了模型-视图-控制器 (MVC)设计模式,这点在上述目录结构中也得以体现。 models 目录包含了所有模型类views 目录包含了所有视图脚本controllers 目录包含了所有控制器类

    以下图表展示了一个应用的静态结构:

    应用静态结构

    每个应用都有一个入口脚本 web/index.php,这是整个应用中唯一可以访问的 PHP 脚本。 入口脚本接受一个 Web 请求并创建应用实例去处理它。 应用在它的组建辅助下解析请求, 并分派请求至 MVC 元素。视图使用小部件 去创建复杂和动态的用户界面。

    请求生命周期

    以下图表展示了一个应用如何处理请求:

    请求生命周期

    1. 用户向入口脚本 web/index.php 发起请求。
    2. 入口脚本加载应用配置并创建一个应用 实例去处理请求。
    3. 应用通过请求组件解析请求的 路由
    4. 应用创建一个控制器实例去处理请求。
    5. 控制器创建一个动作实例并针对操作执行过滤器。
    6. 如果任何一个过滤器返回失败,则动作取消。
    7. 如果所有过滤器都通过,动作将被执行。
    8. 动作会加载一个数据模型,或许是来自数据库。
    9. 动作会渲染一个视图,把数据模型提供给它。
    10. 渲染结果返回给响应组件。
    11. 响应组件发送渲染结果给用户浏览器。
  • 相关阅读:
    poj 1698 二分图多重匹配
    poj 3207 2-sat
    hdu4932 Miaomiao's Geometry
    hdu4924 Football Manager
    hdu4914 Linear recursive sequence
    hdoj4906 Our happy ending(2014 Multi-University Training Contest 4)
    poj1987 Distance Statistics
    poj3342 Party at Hali-Bula
    C/C++ 调用qsort/sort 对字符数组排序的cmp函数写法
    poj1947 Rebuilding Roads
  • 原文地址:https://www.cnblogs.com/Yimi/p/8549986.html
Copyright © 2020-2023  润新知