手册教程~

YII 运行 (Running Applications)

安装Yii之后,你有一个工作Yii应用程序可以通过访问 URL http://hostname/basic/web/index.php 或 http://hostname/index.php 不同, 在你的配置。 本节将介绍应用程序的内置功能, 代码是如何组织的,以及如何应用程序处理请求。

信息: 为简单起见,在这“入门”教程中,假设您已经建立 基本/网络 作为您的Web服务器的文档根,配置访问的URL 你的应用程序 http://hostname/index.php 或类似的东西。 您的需求,请相应地调整我们描述的url。

注意,与框架本身,项目模板安装后都是你的。 你可以自由添加或删除 代码,你需要整体修改它。

功能

基本应用程序安装包含四个页面:

  • 主页,显示当你访问的URL http://hostname/index.php ,

  • “关于”页面,

  • “接触”的页面,它显示一个联系表单,允许最终用户通过电子邮件联系你,

  • “登录”页面,显示一个登录表单,可以用于对最终用户进行身份验证。 试着登录 与“admin / admin”,你会发现“登录”主菜单项将改变“注销”。

这些页面共享一个共同的页眉和页脚。 头包含一个主菜单栏,允许导航 在不同的页面。

你也应该看到一个浏览器窗口工具栏的底部。 这是一个有用的 调试器工具 Yii提供的记录和显示调试信息,比如日志消息,响应状态,运行数据库查询,等等。

另外的web应用程序中,有一个控制台脚本调用 yii ,位于基地的应用程序目录。 这个脚本可以用来为应用程序运行的背景和维护任务,描述 在 控制台应用程序部分 。

应用程序结构

最重要的目录和文件在您的应用程序(假设应用程序的根目录 基本 ):

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 控制台命令执行脚本


一般而言,应用程序中的文件可以分为两种类型:以下 基本/网络 和那些 在其他目录。 前者可以直接通过HTTP(即访问。 在浏览器中),而后者不能,不应该。

Yii实现 模型-视图-控制器(MVC) 体系结构模式, 这是反映在上述目录组织。 的 模型 目录包含所有 模型类 , 的 的观点 目录包含所有 视图脚本 , 控制器 目录包含 所有 控制器类 。

应用静态结构

每个应用程序都有一个条目脚本 web/index.php 这是唯一的Web应用程序中访问PHP脚本。 输入脚本需要传入请求和创建一个 应用程序 实例来处理它。 的 应用程序 解决的请求帮助的 组件 , 并将请求分派到MVC元素。 小部件 用于 的观点 帮助建立复杂和动态的用户界面元素。

请求生命周期

请求生命周期

  1. 一个用户请求 输入脚本 web/index.php 。

  2. 输入脚本加载应用程序 配置 并创建 一个 应用程序 实例来处理请求。

  3. 应用程序解析请求的 路线 的帮助下 的 请求 应用程序组件。

  4. 应用程序创建了一个 控制器 实例来处理请求。

  5. 控制器创建一个 行动 实例和执行行动的过滤器。

  6. 如果任何过滤器失败,行动取消了。

  7. 如果所有的过滤器,将执行该动作。

  8. 动作加载数据模型,可能从一个数据库。

  9. 动作渲染一个视图,提供的数据模型。

  10. 呈现的结果返回到 响应 应用程序组件。

  11. 响应组件将呈现结果发送到用户的浏览器。