更多内容: http://blog.yuhai.win
本文大部分内容只是对 http://www.yiichina.com/doc/guide/2.0 中应用结构的摘抄和整理。需要查看具体说明的请到官网查看
1、 入口文件
用户的请求通过入口脚本实例化应用并将请求转发到应用。WEB 应用的入口文件一般为 index.php 控制台应用一般为 yii.php
2、应用
应用主题是管理yii 应用系统整体结构和生命周期的对象。每个应用系统只能包含一个应用主体,应用主体在入口脚本中创建并能通过表达式 \Yii:: $app 全局范围内访问。
yii 的应用主体 yii\wen\application 和 yii\console\application 前者主要处理网页请求,后者处理控制台请求
3、 应用组件
应用主体是服务定位器,他部署一组提供各种不同功能的应用组件来处理请求。 例如,urlManager组件负责处理网页请求路由到对应的控制器。 db组件提供数据库相关服务等等。应用组件可以是任意对象,可以在 应用主体配置中配置 yii\base\Application::components
[
'components' => [
// 使用类名注册 "cache" 组件
'cache' => 'yii\caching\ApcCache',
// 使用配置数组注册 "db" 组件
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=demo',
'username' => 'root',
'password' => '',
],
// 使用函数注册"search" 组件
'search' => function () {
return new app\components\SolrService;
},
],
]
4、 控制器
控制器是继承yii\base\Controller 类的对象,负责处理请求和生成响应。具体来说,控制器从应用主体接管控制后会分析请求数据并传送到模型,传送模型的结果到视图,最后生成输出响应信息。
控制器由操作组成,他是执行终端用户请求的最基础的单元,一个控制器可有一个或多个操作。
5、模型
模型是MVC 模式中的一部分,是代表业务数据、规则和逻辑的对象。
6、视图
视图 是MVC 模式中的以部分。他是展示数据到终端用户的代码,在网页应用中,根据视图模板来创建视图,视图模板为PHP脚本文件,主要包含HTML代码和展示类PHP代码,通过yii\web\View 应用组件来管理,该组件主要提供通用的方法帮助视图构造和渲染。
7、模块
模块是独立的软件单元,由模型,视图,控制器和其他支持组件组成,终端用户可以访问在应用主体中已安装的模块的控制器,模块被当成小应用主体看待,和应用主体不同的是模块不能单独部署,不需属于摸个应用主体。
8、过滤器
过滤器是控制器动作执行之前或之后执行的对象。过滤器可包含预过滤器(过滤逻辑在动作之前)或者或过滤(过滤逻辑在动作之后),也可同时包含两者。
9、小部件
小部件是在视图中使用的可重用单元,使用面向对象方式创建复杂和可配置用户界面单元。
10、前端资源
Yii 中资源和Web 页面相关的文件,可为CSS文件,javaScript 文件,图片或视频等,资源放在Web可访问的目录下,直接被Web服务器调用。
11、扩展
扩展是专门设计的在Yii应用中随时可拿来使用的,并可重发布的软件包。