Yii 应用采用模型-视图-控制器 (MVC) 设计模式来组织。 模型代表数据、业务逻辑和规则; 视图展示模型的输出;控制器 接受出入并将其转换为模型和视图命令。以下是青锋建站给大家分享的yii框架的应用结构、目录结构和请求生命周期。青锋建站-专业网站建设开发、SEO、网络营销。
Yii目录结构和文件构成
假设应用根目录是 rootroot/ 应用根目录
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 控制台命令执行脚本
一般来说,yii目录结构中的文件可被分为两类:在 root/web 下的和在其它目录下的。 前者可以直接通过 HTTP 访问(例如浏览器),后者不能也不应该被直接访问。
Yii 应用结构
- 入口脚本:终端用户能直接访问的 PHP 脚本, 负责启动一个请求处理周期。
- 应用:能全局范围内访问的对象, 管理协调组件来完成请求.
- 应用组件:在应用中注册的对象, 提供不同的功能来完成请求。
- 模块:包含完整 MVC 结构的独立包, 一个应用可以由多个模块组建。
- 过滤器:控制器在处理请求之前或之后 需要触发执行的代码。
- 小部件:可嵌入到视图中的对象, 可包含控制器逻辑,可被不同视图重复调用。
以下图表展示了一个应用的静态结构:
每个应用都有一个入口脚本 web/index.php,这是整个应用中唯一可以访问的 PHP 脚本。 入口脚本接受一个 Web 请求并创建应用实例去处理它。 应用在它的组件辅助下解析请求, 并分派请求至 MVC 元素。视图使用小部件 去创建复杂和动态的用户界面。
yii请求生命周期
以下图表展示了一个yii应用如何处理请求:- 用户向入口脚本 web/index.php 发起请求。
- 入口脚本加载应用配置并创建一个应用 实例去处理请求。
- 应用通过请求组件解析请求的 路由。
- 应用创建一个控制器实例去处理请求。
- 控制器创建一个动作实例并针对操作执行过滤器。
- 如果任何一个过滤器返回失败,则动作取消。
- 如果所有过滤器都通过,动作将被执行。
- 动作会加载一个数据模型,或许是来自数据库。
- 动作会渲染一个视图,把数据模型提供给它。
- 渲染结果返回给响应组件。
- 响应组件发送渲染结果给用户浏览器。
转载请注明来源网址:青锋建站-http://www.sjzphp.com/webdis/yii_mvc_820.html