[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