作者擁有15年研發經驗,資深PHP專家和架構師,曾擔任趕集網和今日頭條技術總監,好樂買和正和島的CTo 圍繞高性能、可擴展性、可伸縮性、可靠性等與PHP應用性能相關的主題展開,同時還涉及PHP編程思想、底層原理、編程技巧、開發規范等重要內容
在過去的十幾年間,LAMP開源技術推動著互聯網開發,有4000萬以上的網站在使用LAMP&LNMP技術平臺驅動。
在互聯網和移動互聯網平臺中,其中Facebook、開心網、新浪網、Yahoo!、百度、騰訊、搜狐、網易及各個視頻網站全部或大部分使用的是LAMP&PHP技術。
與其說Web的偉大創新,不如說是創新者的智慧,還有PHP技術的魯棒性與相對于其他語言的快速、靈活、敏捷性,給互聯網—這個亦莊亦娛的行業帶來強大的動力。
近年來,PHP與互聯網正一起創造著流行。2000年前后,PHP應用于Yahoo!網站,國內門戶網站騰訊、新浪、優酷、鳳凰及眾多在線網絡游戲廠商等也都全部或部分使用PHP技術。同時,PHP也為互聯網的新興網站創造了一個又一個神話。
Craigslist.org是在全美第6名、全球第20名的分類信息網站,每月有1000萬獨立訪問量和30億頁面瀏覽量,它使用LAMP技術開發,國內類似的網站如趕集網、百姓網也全部使用PHP技術。
維基百科(Wikipedia),也稱為自由的百科全書。它是由全球不同民族、不同語言共同編撰的一部網絡百科全書,由PHP開發,并以Mediawiki開放源代碼。
Yelp是美國最大的店鋪點評網站,相當于中國的大眾點評網,2009年婉拒了Google近6億美元的收購要約,目前已成為消費者購買與體驗商品的最佳社區,國內有安居客、螞蟻、小豬短租、好車無憂等類似網站也全部使用了PHP技術。
SNS(Social Networking System)巨頭Facebook,是全球最大的LAMP網站,目前已有超過15億用戶,超過Google。目前這個全球最火熱的社區,已演化為人們生活不可缺少的工具。國內類似的SNS網站,如開心網、同學網、騰訊朋友等全部使用PHP開發。而Facebook的社交開發商(Social Game Developer),如Zynga等社交游戲廠商也應用了PHP開發,因為Facebook的巨大應用量而賺得盆滿缽滿。
隨著Twitter的流行,使國內微博網站愈加火爆,如新浪微博、騰訊微博等網站全部使用了PHP開發。而熱門、模式創新的網站,非Foursquar.com和Groupon.com莫屬,它們分別是基于位置的地圖服務和團購商品的服務,而這些網站的中國版如美團、團寶等網站使用的也是PHP技術。
PHP在電子商務/社交化電子商務領域,以及企業軟件上同樣大展身手,如淘寶前端使用PHP、Prestashop、ShopEx、Magento、eCart、osCommerc等。可以預見的是,在未來還會有新的互聯網神話出現,而加速這些網站前進的PHP將繼續擔當主力。
還有企業級開發領域,如Zend、SugarCRM、DotProject等,也在使用PHP來實現云計算等企業級開發領域。而且在當今如火如荼的移動互聯網以及網頁游戲開發領域,還有PHP for Android等框架來幫助開發者實現本地化App開發的想法,而且App的后面也可使用PHP來提供API服務接口。
PHP并非萬能,但憑借它實用高效的優勢,在Web開發領域,PHP和MySQL無疑是“世界上最好的語言”。
現今,國內的各個互聯網公司均面臨兩大問題和挑戰:第一,高流量、高負載的商務應用使Web系統不堪重負;第二,價格高昂的帶寬、硬件、商業軟件等成本高居不下,越來越多的互聯網公司開始擁抱開源的LAMP/LNMP平臺。
同時,PHP也在不斷更新。我們需要有眾多熱愛編程開發,有扎實的基礎以及豐富的實際編程經驗,有創新、有思想的工程師,加入到PHP開發的行列中。
為什么要使用本書如果你已經看過市場上很多初級類書籍,卻還在尋找PHP編程思想、底層原理、編程技巧、可伸縮性、可靠性、開發規范等內容,那么就請使用本書,相信可以獲取更多新鮮與深入的主題。
本書為讀者帶來的是一系列實用的、進階的“干貨”,相信定會給你的程序生涯和未來發展帶來幫助。
書中主要介紹如下主題:
解惑:掌握PHP編程中的“長尾”細節。
深入:PHP面向對象高級開發。
淺出:PHP開發中的調試與技巧。
編程之道:透徹理解面向對象開發思想與設計模式。
更快:使用OpCode緩存。
擴展: memcached及擴展應用。
搜索:Sphinx全文搜索引擎。
為了提供更好的實用性,本書除了詳解PHP中的深度開發外,還提供了相應的代碼實例。讀者可登錄21CTO(www.21cto.com)本書相關頁面下載。
本書寫給誰本書適合PHP中級開發及以上資質的讀者,需要讀者充分了解PHP技術,可結合其他書籍進行同步閱讀。
本書讀者對象可為PHP研發工程師、軟件架構師、系統架構師。本書也可作為IT運維人員、DBA、計算機專業本科以上學生的參考用書。
本書特點書中講解了PHP 5.6以上及PHP7.02版本的新特性,涵蓋了目前大中型網站使用的研發技術,包括擴展、伸縮、負載、優化等,以及實際研發中的解決方案。本書不只停留在代碼應用層,還包括架構方面的方法與思路,相信會幫助讀者更好掌握PHP。
致謝感謝機械工業出版社楊福川、高靖雅和李藝,以及曾經并肩戰斗的朋友,是你們的鼓勵才能使本書得以展現給各位。PHP由PHP開發小組和眾多的PHPer共建。同樣,本書也得到了很多同仁的支持,在此一并致謝!
社區支持如果你從本書中發現錯誤或漏洞,或者發現一些有價值和感興趣的內容,可登錄本書的技術支持平臺:21CTO(www.21cto.com)與筆者進行交流。
同時,歡迎大家提出寶貴意見,以便在本書再版時為讀者帶來更好的體驗。
Preface 序曾經我與你一般,年少時期,對人生只知努力,卻不知何往,只得上下求索,東尋西覓。于是求知識、讀文字、寫代碼、做架構,時至而立之年方初識端倪。幾年來親歷創業,一路走來有技術的積累,亦有技術外的磨礪。比照更多的同路者,做自己最擅長的才更有力量。
當今社會,如你我這樣依靠技術成就理想的開發者,共同特征是吃苦耐勞,也有一些完美主義。我們在互聯網上獲取大量知識,而上面的信息多數可受其益,但陳舊錯漏之文仍有,條理邏輯亦差強人意,難免蒙受其弊。因此,紙質圖書閱讀對于開發者來說仍有必要。
開發類書籍創作大都不是輕松的工作,但我心中一直存有一份責任,那就是讓更多的朋友能夠解惑并能目標明確地向前,讓“Open & Share”的開源理念得到更多理解,這也是我能夠堅持的初心。
每晚在稱為“中國硅谷”的中關村軟件園區,從窗外看著外面燈火通明的百度大廈,還有很多人在加班工作。也有很多技術類的創業者,他們都在執著地用自己的雙手澆灌未來的理想之花。每當此時,耳畔聽著西山風聲,手中的鍵盤聲響起,眼前屏幕的文字躍動,是另一種喜悅。
創新來源于每天的思考與實踐,夢想方能不絕于縷。互聯網的新技術每天都在發展,關于LAMP/LNMP開發、高性能、高擴展的話題也一直在更新發展中。
本書持續寫了兩年有余,其中針對PHP升級,部分內容也同步做了更新,特別是PHP7的發布。書中內容符合PHP5.6及以上版本。希望本書能夠幫助你避免在開發時遇到坑,或者簡單問題復雜化,進而提高編碼效率。
人生處處是戰場,作為開發者的我們,需要每日積跬步行千里,不斷實踐讓自己更加優秀。既然你已經準備好了,就讓我們充滿感激和動力,出發!
杜江(別名:洛逸)