# 目录
## 序
## 前言
## 基础知识
### 起步
#### 目录结构
#### 什么是控制器,如何建立
#### 配置文件在哪儿?如何设置配置
#### 如何开启调试模式
#### 如何使用模板标签
#### 项目函数文件在哪儿,如何定义自己的函数
#### 如何使用扩展类库和第三方类库
#### 如何隐藏入口和定义路由
### 控制器
#### 控制器基类代码
#### 继承自己建立的控制器(后台)
#### 自动加载
### 模型
#### 自动验证
#### 自动完成
#### 如何判断新增还是修改
#### 如何建立自己的模型
#### 继承自己的模型
#### 模型中的扩展函数
#### 字段缓存问题
#### 一些使用技巧
#### 标签库的重要性
### 模板
#### 标签库的重要性
#### layout
#### 模板继承
#### 自定义标签
### 命名空间
## 进阶知识
### 路由
#### 原理
#### 生成纯静态的典型架构
#### 隐藏入口文件
#### s兼容模式
### 配置
### 缓存
#### S缓存
#### F缓存
#### 查询缓存
#### 缓存类型配置
### 权限
#### RBAC
#### AUTH认证类
### 扩展
#### 模式扩展
#### 引擎扩展
### 国际化
### 安全
### 单元测试
### 拿来主义
## ThinkPHP3的调试方法
### 调试的步骤
#### 确认问题的存在
#### 初步定位问题什么原因导致的
#### 在可能问题的地方断点、输出数据观察
#### 解决问题
#### 测试问题是否解决,有没有其他地方犯同样的问题
#### 反思自己为什么犯这种错误,以后怎么避免
## 调试工具
### 显示trace信息
### 开启调试及关闭调试的区别
### 在firebug中显示trace信息
### netbeans+xdebug
### socketlog
## PHP常见错误
## 小黄鸭调试法,每个程序员都要知道的
## 应用场景
### 第三方登录
### 图片处理
### 博客
### SAE
### REST实践
### cli
### ajax分页
### barcode条形码
### excel
### 发邮件
### 汉字转全拼和首字母支持带声调
### 中文分词
### 浏览器useragent解析
### freelog项目实战
#### 需求分析
#### 数据库设计
#### 编码实践
#### 总结经验
## 自我提升
### 进行小项目的锻炼
### 对现有轮子的重构、移植
### 写技术博客
### 制作视频教程
### 学习PHP的知识和新特性
### 和同行直接沟通、交流
## 如何参与
### 浏览官网、极思维还有看云
### 回答ThinkPHP新手的问题
### 尝试发现ThinkPHP的bug,告诉官方人员或者push request
### 开发能提高效率的ThinkPHP工具
### 尝试翻译官方文档
### 帮新手入门
### 创造基于ThinkPHP的产品,进行连带推广
## ThinkPHP的未来
### OneThink
### ThinkPHP4
## 附录
### 常量参考
### 常见资源
### 常见问题
### 随书演示地址:
### 如何正确做事.xmind
- 序
- 前言
- 内容简介
- 目录
- 基础知识
- 起步
- 控制器
- 模型
- 模板
- 命名空间
- 进阶知识
- 路由
- 配置
- 缓存
- 权限
- 扩展
- 国际化
- 安全
- 单元测试
- 拿来主义
- 调试方法
- 调试的步骤
- 调试工具
- 显示trace信息
- 开启调试和关闭调试的区别
- netbeans+xdebug
- Socketlog
- PHP常见错误
- 小黄鸭调试法,每个程序员都要知道的
- 应用场景
- 第三方登录
- 图片处理
- 博客
- SAE
- REST实践
- Cli
- ajax分页
- barcode条形码
- excel
- 发邮件
- 汉字转全拼和首字母,支持带声调
- 中文分词
- 浏览器useragent解析
- freelog项目实战
- 需求分析
- 数据库设计
- 编码实践
- 前端实现
- rest接口
- 文章发布
- 文件上传
- 视频播放
- 音乐播放
- 图片幻灯片展示
- 注册和登录
- 个人资料更新
- 第三方登录的使用
- 后台
- 微信的开发
- 首页及个人主页
- 列表
- 归档
- 搜索
- 分页
- 总结经验
- 自我提升
- 进行小项目的锻炼
- 对现有轮子的重构和移植
- 写技术博客
- 制作视频教程
- 学习PHP的知识和新特性
- 和同行直接沟通、交流
- 学好英语,走向国际
- 如何参与
- 浏览官网和极思维还有看云
- 回答ThinkPHP新手的问题
- 尝试发现ThinkPHP的bug,告诉官方人员或者push request
- 开发能提高效率的ThinkPHP工具
- 尝试翻译官方文档
- 帮新手入门
- 创造基于ThinkPHP的产品,进行连带推广
- 展望未来
- OneThink
- ThinkPHP4
- 附录