`
dcj3sjt126com
  • 浏览: 1829352 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[入门]运行应用

    博客分类:
  • Yii2
阅读更多

安装 Yii 后,就有了一个可运行的 Yii 应用,根据配置的不同,可以通过 http://hostname/basic/web/index.php 或 http://hostname/index.php 访问。本章节将介绍应用的内建功能,如何组织代码,以及一般情况下应用如何处理请求。

补充:为简单起见,在整个“入门”板块都假定你已经把 basic/web 设为 Web 服务器根目录并配置完毕,你访问应用的地址会是 http://lostname/index.php 或类似的。请按需调整 URL。

功能 

一个安装完的基本应用包含四页:

  • 主页,当你访问 http://hostname/index.php 时显示,
  • “About” 页,
  • “Contact” 页, 显示一个联系表单,允许终端用户通过 Email 联系你,
  • “Login” 页, 显示一个登录表单,用来验证终端用户。试着用 “admin/admin” 登录,你可以看到当前是登录状态,已经可以“退出登录”了。

这些页面使用同一个头部和尾部。头部包含了一个可以在不同页面间切换的导航栏。

在浏览器底部可以看到一个工具栏。这是 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. 响应组件发送渲染结果给用户浏览器。
分享到:
评论

相关推荐

    HarmonyOS鸿蒙快速入门应用开发基础+进阶视频.zip

    01.3 应用编译_安装_运行 01.4 HarmonyOS应用系列课第1期答疑环节 02.1 HUAWEI_DevEco_简介 02.2 HarmonyOS_应用开发平台介绍 02.3 HarmonyOS设备开发平台介绍 02.4 分布式应用开发实例演示 02.5 第2期答疑环节 03.1...

    Linux迅速入门玩转典型应用多语言运行环境配置CentOS系统VIM操作技巧SSH运维

    教程名称:Linux迅速入门玩转典型应用 多语言运行环境配置 CentOS系统 VIM操作技巧 SSH运维教程内容: 无论你是学习的哪种语言,并且大数据、人工智能大时代的到来,Linux重要性不可言说。课程基于CentOS系统为标准...

    移动云计算应用开发入门经典

    , 主要内容:,  演示如何为移动应用程序实现合适的外观和感觉,  重点介绍增强用户体验的方式,  解释应用程序缓存、触摸事件和数据存储,  详细介绍如何创建像本机应用程序一样运行的混合应用程序,讲解如何...

    HarmonyOS鸿蒙快速入门应用开发基础视频.rar

    013应用编译安装运行zp 014 HarmonyOS应用系列课第1期答疑环节zip 021 HUAWEI DevEco简介,zip 022 HarmonyoS应用开发平台介绍zip 023 HarmonyOS设备开发平台介绍zip 024分布式应用开发实例演示,zip 025第2期答疑...

    OPC应用程序入门 pdf版本

    pdf版本,日本OPC协会编制,OPC中国促进会后援,涉及OPC基础知识、使用VB开发OPC应用程序、使用VB开发OPC ActiveX控件、使用Execl开发OPC应用程序、运行环境设计等等

    opc应用程序入门(中文)

    opc应用程序开发指南,日本人原著,翻译版,VB语言版本,但是其他语言开发(我自己用C#)都可以参考。讲解注释很详细,适合刚刚入门工业自动化的软件开发工程师。原理阐释的由浅入深,特别适合快速上手开发自己的opc...

    Android移动应用开发入门.pdf

    完成代码编写后,连接Android设备或启动虚拟设备,点击播放按钮构建和运行应用。最后,确保应用在不同设备和配置上都能正常工作,可以使用测试工具进行自动化测试或手动测试。此外,以一个简单的“Hello World”应用...

    风骚风水师的C#入门:编写运行第一个Windows窗体应用程序WindowsFormsHelloWorld

    风骚风水师的C#入门:编写运行第一个Windows窗体应用程序WindowsFormsHelloWorld

    C#运行指定应用程序

    C#运行指定应用程序,模拟Windows的运行命令,可视化窗体操作,入门者必看实例。

    fullstack-starter:用于创建全栈应用程序的Monorepo,

    运行应用程序的说明 注意:样本说明 建于 nx.dev nestjs next.js tsdx 弄乱 承诺者 犯规 沙哑 更漂亮 埃斯林特 cz-ccgls 码头工人组成 特使(grpc代理) verdaccio(私有软件包存储库) 配套 库由5个程序包...

    initializer-chat-app:使用 react-router-initializer 构建的同构聊天应用程序

    初始化聊天应用程序使用react-router-initializer构建的同构聊天应用程序入门运行应用程序分叉并克隆 Repo npm install gulp start 在浏览器中导航到localhost:8000应用详情这是一个同构的聊天应用程序,使用react-...

    ASP.net从入门到实践

    .NET Framework是一个支持构建、部署和运行下一代应用程序和Web服务的完整Windows组件。ASP.NET是.NET Framework的一部分。它是一个统一的Web开发模型,包括创建企业级Web应用程序的所必需的各种服务。本章将讲解ASP...

    77-计算机视觉计算机视觉入门大全:基础概念、运行原理、应用案例详解.docx

    77-计算机视觉计算机视觉入门大全:基础概念、运行原理、应用案例详解.docx

    SDN Ryu应用开发入门

    SDN Ryu应用开发入门 1.1 Ryu的安装部署 2.1 Hub+Learing Switch应用开发(上) 2.2 Hub+Learing Switch应用开发(下) 3.1 流量监控+最短路径转发 4.1 流量监控+最短路径转发 5.1 Ryu RESTAPI使用教程 6.1 源码解析...

    Rust构建的基于代理的流行病学模拟框架-Rust开发

    EpiRust基于Rust的基于代理的...WIP-多个引擎的协调器以运行大规模仿真Web-EpiRust的Web UI快速入门运行应用程序的最快方法是使用引擎上的CLI界面。 按照docker或本地设置进行操作,以启动并运行引擎。 Docker先决条件

    pyrophen:焦酚产生代表人类表型本体的FHIR代码系统

    入门运行应用要直接从maven运行该应用,请输入以下内容 ./mvnw spring-boot:run -Dspring-boot.run.arguments=--hpo=/your/path/hp.obo构建应用要构建独立的应用,请输入mvn package这将在target子目录中生成一个名...

    《Node入门》

    《Node入门》致力于教会你如何使用node.js来开发应用。 Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念。它的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到...

    Visual C# 2010从入门到精通

    《Visual C# 2010从入门到精通》还提供了大量的通过测试可运行的完整实例,这些实例都有设计步骤、代码详解、程序运行结果等,不但复习了前面所学的内容,而且还增加了一定的创作技巧。对于容易出现问题的地方,则以...

    Simulink仿真及代码生成技术入门到精通

    进阶篇讲解Simulink的运行机制和原理、自定义模块及模块封装、自定义模块库的建立和Simulink环境的编辑等功能,并讲解如何使用M语言为模块发布help文档,以及通过工业实例展示综合应用GUI控制Simulink进行仿真的方法...

    Spark 入门实战系列

    Spark 入门实战系列,适合初学者,文档包括十部分内容,质量很好,为了感谢文档作者,也为了帮助更多的人入门,传播作者的心血,特此友情转贴: 1.Spark及其生态圈简介.pdf 2.Spark编译与部署(上)--基础环境搭建....

Global site tag (gtag.js) - Google Analytics