# 序
## 自我介绍
老杨不知何许人也,亦不详其姓字。说起来惭愧,本人虽然为ThinkPHP做过很多事,但是在网上一直没有什么名气。当然这也与本人好“中庸”有关。“枪打出头鸟”嘛,出名并不意味着一件好事。中国人的八卦之心是世界最强的,呵呵。
然,随着个人发展,需要提升一下个人在互联网上的影响力。发现世面上居然没有一本ThinkPHP的出版物,干脆我给大家出本ThinkPHP方面的书算了。自己本来也想今年做点什么出来,出视频什么的实在太累,本来想搞个win和Linux的Dash,结果轮子早被人发明了。想搞个webos 什么的,好的有很多,也尝试过。曾经在镇江三个月,有人认出我来,想让我教他。说实在的,本人学TP也没太总结过,那时候也没心思教,当时他水平有限,学习方法落后(每天晚上背PHP手册上的函数),就没教他。等书写完了,候小伙,买本看看吧,希望你能转行成功。
说了半天,大家还是不知道我是谁。本人姓杨名维杰,江苏淮安人,参与学校的php培训3个月,后来实习完在罗飞的推荐下到了顶想,重新学习了ThinkPHP手册之后,先是在ThinkPHP官网新手区当版主,然后负责ThinkEditor第一版的集成,然后做ThinkPHP2.1版Example的升级,新版官网的改版开发(Discuz和TP都做过),在表现期间仿照了symfony框架的调试工具,做了一个ThinkPHP的调试工具条,被老大看上加入了ThinkPHP核心群。而后委以重任,负责了ThinkPHP第一个CMF产品OneThink的插件机制的实现。后来为OneThink贡献了18个插件、两个视频。
至今的经历,可以看[我的个人经历时间轴](http://jaylabs.sinaapp.com/Index/single/name/Timeline.html)。
## 他序
### 他序一
这本书是第一本官方团队出品的关于ThinkPHP的书,老杨自身善于学习新技术并且有很强的悟性,之前在ThinkPHP团队中发挥了不少重要的作用,因此当他提出打算写这本书的时候,我是非常赞同和支持的,ThinkPHP也需要一些手册和视频之外的教程和书籍,这是第一本,让他先打个头阵。只是非常抱歉,当他在写这本书的时候,正值我们看云平台开发和测试的关键时期,所以没能帮上什么帮,也是最近才抽空仔细看了下,应该说,这本书写的比TP官方的手册要到位和更具有实践性,而且包含了实际的示例,尤其是一个完整的轻博客项目示例,相信会对新手有更多的帮助。事实上,写好一本技术书没有那么容易,我相信不同的用户在阅读本书的时候想法亦会不同,我们的初衷就是让大家有更多更全面了解和学习ThinkPHP的机会。
通篇内容以ThinkPHP3.2.3版本为例,3.2版本已经被官方宣布为首个LTS(长期支持)版本,所以大家可以放心的学习,因为我知道,很多技术书籍的最大痛苦就是看完了发现里面的版本已经不适用了。
借此机会,也顺便说点题外话,ThinkPHP马上就要迎来十周年了,在这个时候能够带给大家这样一本书还是非常有意义的,这预示着我们会有一个新的开始,而同时也会面临更多的挑战,因为如今已经是一个框架林立和技术突破的时代。ThinkPHP在漫长的发展过程中也在不断反思和力求创新,虽然这两年迭代和更新的步伐放慢了,但没有停步,而且相信不久的将来大家会看到更好的版本。
最后,希望大家在阅读本书的时候,能够有所收获,并真正领略到ThinkPHP的精髓,驾驭框架而不是被框架驾驭!
刘晨 写于看云
###他序二
初识老杨(其实是小杨,他比我小很多,哈哈)是在他在JobDeer团队,我们同属创新工场兄弟团队,又加之JobDeer CTO罗飞又是优才学院的全栈讲师,所以经常有一些交流,就会关注到一位不声不响的憨厚的工程师在那高效地实现着一个又一个特性(JobDeer工程师团队相当精干,但是干的活不少)。
后来维杰也成为优才学院全栈工程师学员,在群里,他经常热心解答和交流问题、透露对产品经理的爱憎分明、偶尔的调侃开玩笑,对他的印象又深了一层。再后来,对他的了解越来越多,知道他参与过OneThink、也是ThinkPHP开发团队的核心成员,更让我惊讶的是,突然有一天跟我说,出了一本书《跟老杨学ThinkPHP3》,让我写序。
我本人也不是ThinkPHP专家,就是会用而已。于是也借着这个机会,提高了一下自己,花时间看了一下电子版,写了这篇序。在整个阅读过程中,能深深地感觉到作为开发者来写教程,和作为外部人来写教程还是非常不一样的。就像创业者自己来描述自己的公司、产品和愿景,同记者通过采访,然后来转述,出来的那种感觉完全不一样。所以在ThinkPHP 10周年之际,刘晨老大这么多年的坚持,罗飞、维杰这样的兄弟,一起把ThinkPHP打造成今天这样一个成功的框架,非常不容易,也祝贺和祝福他们,也希望这本适逢其时的《跟老杨学ThinkPHP3》能让更多的开发者认识和学习PHP,也希望老杨能成为优才讲师队伍中,重要的后备力量。
再次向PHP开发者们推荐ThinkPHP,推荐《跟老杨学ThinkPHP3》,一起祝福,大家都越来越好!是为序。
优才学院 伍星
- 序
- 前言
- 内容简介
- 目录
- 基础知识
- 起步
- 控制器
- 模型
- 模板
- 命名空间
- 进阶知识
- 路由
- 配置
- 缓存
- 权限
- 扩展
- 国际化
- 安全
- 单元测试
- 拿来主义
- 调试方法
- 调试的步骤
- 调试工具
- 显示trace信息
- 开启调试和关闭调试的区别
- netbeans+xdebug
- Socketlog
- PHP常见错误
- 小黄鸭调试法,每个程序员都要知道的
- 应用场景
- 第三方登录
- 图片处理
- 博客
- SAE
- REST实践
- Cli
- ajax分页
- barcode条形码
- excel
- 发邮件
- 汉字转全拼和首字母,支持带声调
- 中文分词
- 浏览器useragent解析
- freelog项目实战
- 需求分析
- 数据库设计
- 编码实践
- 前端实现
- rest接口
- 文章发布
- 文件上传
- 视频播放
- 音乐播放
- 图片幻灯片展示
- 注册和登录
- 个人资料更新
- 第三方登录的使用
- 后台
- 微信的开发
- 首页及个人主页
- 列表
- 归档
- 搜索
- 分页
- 总结经验
- 自我提升
- 进行小项目的锻炼
- 对现有轮子的重构和移植
- 写技术博客
- 制作视频教程
- 学习PHP的知识和新特性
- 和同行直接沟通、交流
- 学好英语,走向国际
- 如何参与
- 浏览官网和极思维还有看云
- 回答ThinkPHP新手的问题
- 尝试发现ThinkPHP的bug,告诉官方人员或者push request
- 开发能提高效率的ThinkPHP工具
- 尝试翻译官方文档
- 帮新手入门
- 创造基于ThinkPHP的产品,进行连带推广
- 展望未来
- OneThink
- ThinkPHP4
- 附录