Yii2 - 01初始化

来源:互联网 发布:r语言初学者指南 数据 编辑:程序博客网 时间:2024/06/11 01:57

安装

下载 Yii2基本应用程序模板

解压之后得到basic 文件夹,目录结构如下图:
这里写图片描述

我们把basic 名称修改为yiipro。然后来找一下yii2的MVC 在哪里?
这里写图片描述

项目访问地址:http://localhost/yiipro/web/
这里写图片描述
如果你的项目在Mac或者Linux下,这时候会报2个错误,提示你runtime、web/assets 这2个目录没有权限,所以需要先给它们权限。

解决上面的问题之后,接着会报一个yii\web\Request::cookieValidationKey must be configured with a secret key. 的错误,这是我们Yii2的一个安全方面的设置。
这里写图片描述
需要做如下配置:config/web.php, 在cookieValidationKey 一项随便填入一个字符串.
这里写图片描述

再次浏览器访问项目:
这里写图片描述

基本概念约定

项目 project
应用 application
组件 component
模块 module
控制器 controller
动作 action
路由 route

目录结构

基本模板项目结构(我们项目推荐使用这个)

controllers 控制器
views 视图
models 模型
web 浏览器访问应用的根目录
config 配置文件
runtime 运行时目录、存放缓存、日志、调试信息等,需要写权限的目录
assets 静态资源管理
web/index.php 入口文件
web/assets 框架管理的静态资源,请勿手动修改该目录内容,需要写权限

高级模板项目结构

frontend 前端web应用
backend 后端web应用
console 命令行应用
common 公共(前后台和命令行均依赖此目录)
vendor 框架和第三方代码目录,采用composer管理,请勿手动修改该目录内容
environments 环境配置

MVC结构和工作流

静态结构
这里写图片描述
工作流程
这里写图片描述

运行机制概述

每一次运行Yii应用开始处理HTTP请求时,它都会进行一个近似的流程
1.用户提交指向入口脚本web/index.php的请求
2.入口脚本会加载config配置并创建一个application实例用于处理该请求
3.应用会把request(请求)交给route(路由)进行解析
4.应用创建一个controller(控制器)实例具体处理请求
5.控制器会创建一个action(动作)实例,并为该动作执行相关的filters(访问过滤器)
6.如果任何一个过滤器验证失败,该动作会被取消
7.如果全部的过滤器都通过,该动作就会被执行
8.动作会加载一个数据模型,一般是从数据库中加载
9.动作会渲染一个view(视图),并为其提供所需的数据模型
10.渲染得到的结果会返回给response(响应)组件
11.响应组件把渲染的结果发回给用户的浏览器
这里写图片描述

0 0
原创粉丝点击