Yii2 - 01初始化

安装

下载 Yii2基本应用程序模板

解压之后得到basic 文件夹,目录结构如下图:
Yii2 - 01初始化_第1张图片

我们把basic 名称修改为yiipro。然后来找一下yii2的MVC 在哪里?
Yii2 - 01初始化_第2张图片

项目访问地址:http://localhost/yiipro/web/
Yii2 - 01初始化_第3张图片
如果你的项目在Mac或者Linux下,这时候会报2个错误,提示你runtime、web/assets 这2个目录没有权限,所以需要先给它们权限。

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

再次浏览器访问项目:
Yii2 - 01初始化_第5张图片

基本概念约定

项目 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结构和工作流

静态结构
Yii2 - 01初始化_第6张图片
工作流程
Yii2 - 01初始化_第7张图片

运行机制概述

每一次运行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.响应组件把渲染的结果发回给用户的浏览器
Yii2 - 01初始化_第8张图片

你可能感兴趣的:(PHP框架学习笔记,yii,结构)