3 位关注者

运行应用程序

安装 Yii 后,您将拥有一个可工作的 Yii 应用程序,可以通过 URL https://hostname/basic/web/index.phphttps://hostname/index.php 访问,具体取决于您的配置。本节将介绍应用程序的内置功能、代码组织方式以及应用程序通常如何处理请求。

信息:为了简单起见,在本“入门”教程中,假设您已将 basic/web 设置为 Web 服务器的文档根目录,并将访问应用程序的 URL 配置为 https://hostname/index.php 或类似的 URL。根据您的需要,请相应地调整我们描述中的 URL。

请注意,与框架本身不同,项目模板安装后就是您的了。您可以随意添加或删除代码,以及根据需要进行修改。

功能

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

  • 主页,当您访问 URL https://hostname/index.php 时显示,
  • “关于”页面,
  • “联系”页面,它显示一个联系表单,允许最终用户通过电子邮件联系您,
  • 以及“登录”页面,它显示一个登录表单,可用于验证最终用户。尝试使用“admin/admin”登录,您会发现“登录”主菜单项将变为“注销”。

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

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

除了 Web 应用程序之外,还有一个名为 yii 的控制台脚本,它位于应用程序基目录中。此脚本可用于运行应用程序的后台和维护任务,这些任务在 控制台应用程序部分 中进行了描述。

应用程序结构

应用程序中最重要的目录和文件是(假设应用程序的根目录为 basic

basic/                  application base path
    composer.json       used by Composer, describes package information
    config/             contains application and other configurations
        console.php     the console application configuration
        web.php         the Web application configuration
    commands/           contains console command classes
    controllers/        contains controller classes
    models/             contains model classes
    runtime/            contains files generated by Yii during runtime, such as logs and cache files
    vendor/             contains the installed Composer packages, including the Yii framework itself
    views/              contains view files
    web/                application Web root, contains Web accessible files
        assets/         contains published asset files (javascript and css) by Yii
        index.php       the entry (or bootstrap) script for the application
    yii                 the Yii console command execution script

一般来说,应用程序中的文件可以分为两种类型:basic/web 下的文件和其他目录下的文件。前者可以通过 HTTP 直接访问(即在浏览器中),而后者则不能也不能访问。

Yii 实现了 模型-视图-控制器 (MVC) 架构模式,这反映在上面的目录组织中。models 目录包含所有 模型类views 目录包含所有 视图脚本controllers 目录包含所有 控制器类

下图显示了应用程序的静态结构。

Static Structure of Application

每个应用程序都有一个入口脚本web/index.php,它是应用程序中唯一可通过 Web 访问的 PHP 脚本。入口脚本接收传入请求并创建一个应用程序实例来处理它。该应用程序在它的组件帮助下解析请求,并将请求分派给 MVC 元素。小部件用在视图中,帮助构建复杂且动态的用户界面元素。

请求生命周期

以下图表显示了应用程序如何处理请求。

Request Lifecycle

  1. 用户向入口脚本web/index.php发出请求。
  2. 入口脚本加载应用程序配置,并创建一个应用程序实例来处理请求。
  3. 应用程序在请求应用程序组件的帮助下解析请求的路由
  4. 应用程序创建一个控制器实例来处理请求。
  5. 控制器创建一个动作实例,并执行该动作的过滤器。
  6. 如果任何过滤器失败,则取消该动作。
  7. 如果所有过滤器都通过,则执行该动作。
  8. 该动作加载一些数据模型,可能来自数据库。
  9. 该动作渲染一个视图,并向它提供数据模型。
  10. 渲染的结果返回给响应应用程序组件。
  11. 响应组件将渲染的结果发送到用户的浏览器。

发现错误或您认为此页面需要改进吗?
在 github 上编辑它 !