# 序
## 自我介紹
老楊不知何許人也,亦不詳其姓字。說起來慚愧,本人雖然為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
- 附錄