[ThinkPHP-5教程](#id_Toc1117)1
[简介](#id_Toc8968)4
[环境准备](#id_Toc12835)4
[必备环境](#id_Toc15210)4
[composer安装](#id_Toc21502)7
[无网安装composer软件](#id_Toc9340)7
[安装](#id_Toc32257)10
[composer安装TP5](#id_Toc867)10
[源码包安装TP5](#id_Toc9373)12
[基础](#id_Toc14142)15
[开发规范](#id_Toc15643)15
[目录规范](#id_Toc20535)16
[整体分析](#id_Toc20215)17
[application目录分析](#id_Toc30699)17
[index模块](#id_Toc25897)18
[public目录](#id_Toc7699)18
[Tp官方的源码目录](#id_Toc1690)19
[Vendor目录](#id_Toc5028)20
[入口文件](#id_Toc22359)20
[控制器](#id_Toc20412)20
[系统默认控制器](#id_Toc20543)20
[自定义控制器编写](#id_Toc13585)21
[注意:如果我们的控制器文件使用的大驼峰方式命名,需要使用下划线方式访问](#id_Toc10558)22
[调试模式开启](#id_Toc9150)23
[视图](#id_Toc12889)24
[URL和路由](#id_Toc17061)26
[URL访问](#id_Toc31251)26
[GET参数处理](#id_Toc1221)27
[隐藏入口文件](#id_Toc21486)28
[路由定义](#id_Toc21028)29
[案例一最简单的路由](#id_Toc10270)30
[案例二-路由参数](#id_Toc14667)32
[案例三-路由类](#id_Toc32166)32
[案例四-闭包处理](#id_Toc30051)33
[URL分隔符](#id_Toc31342)35
[路由参数](#id_Toc13939)36
[路由分组](#id_Toc12578)36
[其他的路由](#id_Toc17488)37
[手册提供](#id_Toc4812)37
[请求和响应](#id_Toc6709)38
[请求](#id_Toc19086)38
[注意:在TP5里面IS\_GET、IS\_POST等常量已经不存在](#id_Toc18481)38
[响应](#id_Toc15341)39
[视图载入](#id_Toc4284)39
[提示信息-成功和错误](#id_Toc24698)39
[url函数](#id_Toc11313)41
[重定向](#id_Toc26604)43
[返回数据类型](#id_Toc10508)43
[json中文转义](#id_Toc21989)44
[TP5自带json函数](#id_Toc22296)45
[数据库操作-DB类](#id_Toc29431)46
[学习手册](#id_Toc23784)46
[数据库配置](#id_Toc21147)46
[数据库操作-查询](#id_Toc21082)48
[数据库操作-增删改](#id_Toc32328)49
[数据库切换](#id_Toc20467)50
[构造器-查询](#id_Toc5570)52
[构造器-添加](#id_Toc8787)53
[构造器-更新](#id_Toc30550)53
[构造器-删除](#id_Toc2581)54
[别名处理](#id_Toc22191)54
[助手函数](#id_Toc29649)54
[闭包查询](#id_Toc8013)55
[使用Query对象查询](#id_Toc12576)55
[模型学习](#id_Toc10238)56
[模型定义](#id_Toc17107)56
[定义sh\_user表](#id_Toc9916)57
[基本操作-增加](#id_Toc1460)57
[基本操作-查看](#id_Toc4321)59
[便捷方式获取模型实例](#id_Toc24208)63
[基本操作-更新](#id_Toc12686)64
[基本操作-删除](#id_Toc10080)65
[相关文档](#id_Toc20664)67
[模型关联](#id_Toc28347)67
[一对一](#id_Toc22332)67
[简介](#id_Toc25609)67
[关联查询](#id_Toc226)68
[关联添加](#id_Toc24070)71
[一对多](#id_Toc29505)72
[简介](#id_Toc5776)72
[关联查询](#id_Toc2259)72
[关联添加](#id_Toc19941)74
[多对多](#id_Toc22989)75
[自动验证](#id_Toc22703)75
[验证类文件-方式一](#id_Toc6247)75
[验证类文件-方式二](#id_Toc30612)76
[控制器验证-方式一](#id_Toc17597)77
[控制器验证-方式二](#id_Toc3108)77
[系统验证类的使用](#id_Toc7286)78
[验证类的静态方法](#id_Toc7771)78
[验证场景](#id_Toc3275)79
[表单验证](#id_Toc32530)80
[坑-dateFormat验证规则](#id_Toc25001)81
[SQL调试](#id_Toc30481)82
[本地调试模式开启](#id_Toc770)82
[打印最后执行的sql](#id_Toc12196)83
[杂项-验证码](#id_Toc22924)83
[验证码](#id_Toc10463)83
[验证码配置](#id_Toc32374)85
[源码分析](#id_Toc29427)86
[杂项-上传](#id_Toc13796)88
[验证](#id_Toc19270)89
[上传文件的命名](#id_Toc29233)89
[命令行工具](#id_Toc810)91
[控制器生成](#id_Toc20034)91
[模型生成](#id_Toc1379)92
[模块生成](#id_Toc8048)93
[Session机制](#id_Toc14568)95
[Session初始化](#id_Toc984)95
[读取Session数据](#id_Toc12914)95
[操作session](#id_Toc14352)96
[助手函数](#id_Toc29669)96
[模板输出](#id_Toc6028)97
[session驱动](#id_Toc12178)97
[Cookie机制](#id_Toc1347)98
[cookie初始化](#id_Toc30425)98
[cookie操作](#id_Toc9803)98
[助手函数](#id_Toc14023)99
[模板输出](#id_Toc26247)99
[注意:3.2和5.0的区别](#id_Toc15001)99
[控制器调用载入视图](#id_Toc16288)100
[单字母函数去除](#id_Toc27461)100
[常见助手函数](#id_Toc15577)100
[获取某个字段的值](#id_Toc31875)100
[控制器不区分URL大小写](#id_Toc19077)101
[标签语法转换](#id_Toc31468)101
[控制器和模型类后缀](#id_Toc5669)102
[请求对象和响应对象和常量去除](#id_Toc3101)102
- ThinkPHP-5教程
- 简介
- 环境准备
- 必备环境
- composer安装
- 无网安装composer软件
- 安装
- composer安装TP5
- 源码包安装TP5
- 基础
- 开发规范
- 目录规范
- 整体分析
- application目录分析
- index模块
- public目录
- Tp官方的源码目录
- Vendor目录
- 入口文件
- 控制器
- 系统默认控制器
- 自定义控制器编写
- 注意:如果我们的控制器文件使用的大驼峰方式命名,需要使用下划线方式访问
- 调试模式开启
- 视图
- URL和路由
- URL访问
- GET参数处理
- 隐藏入口文件
- 路由定义
- 案例一最简单的路由
- 案例二-路由参数
- 案例三-路由类
- 案例四-闭包处理
- URL分隔符
- 路由参数
- 路由分组
- 其他的路由
- 手册提供
- 请求和响应
- 请求
- 注意:在TP5里面IS_GET、IS_POST等常量已经不存在
- 响应
- 视图载入
- 提示信息-成功和错误
- url函数
- 重定向
- 返回数据类型
- json中文转义
- TP5自带json函数
- 数据库操作-DB类
- 学习手册
- 数据库配置
- 数据库操作-查询
- 数据库操作-增删改
- 数据库切换
- 构造器-查询
- 构造器-添加
- 构造器-更新
- 构造器-删除
- 别名处理
- 助手函数
- 闭包查询
- 使用Query对象查询
- 模型学习
- 模型定义
- 定义sh_user表
- 基本操作-增加
- 基本操作-查看
- 便捷方式获取模型实例
- 基本操作-更新
- 基本操作-删除
- 相关文档
- 模型关联
- 一对一
- 简介
- 关联查询
- 关联添加
- 一对多
- 简介
- 关联查询
- 关联添加
- 多对多
- 自动验证
- 验证类文件-方式一
- 验证类文件-方式二
- 控制器验证-方式一
- 控制器验证-方式二
- 系统验证类的使用
- 验证类的静态方法
- 验证场景
- 表单验证
- 坑-dateFormat验证规则
- SQL调试
- 本地调试模式开启
- 打印最后执行的sql
- 杂项-验证码
- 验证码
- 验证码配置
- 源码分析
- 杂项-上传
- 验证
- 上传文件的命名
- 命令行工具
- 控制器生成
- 模型生成
- 模块生成
- Session机制
- Session初始化
- 读取Session数据
- 操作session
- 助手函数
- 模板输出
- session驱动
- Cookie机制
- cookie初始化
- cookie操作
- 助手函数
- 模板输出
- 注意:3.2和5.0的区别
- 控制器调用载入视图
- 单字母函数去除
- 常见助手函数
- 获取某个字段的值
- 控制器不区分URL大小写
- 标签语法转换
- 控制器和模型类后缀
- 请求对象和响应对象和常量去除