産品特色
編輯推薦
作者擁有15年研發經驗,資深PHP專傢和架構師,曾擔任趕集網和今日頭條技術總監,好樂買和正和島的CTo 圍繞高性能、可擴展性、可伸縮性、可靠性等與PHP應用性能相關的主題展開,同時還涉及PHP編程思想、底層原理、編程技巧、開發規範等重要內容
內容簡介
本書以“PHP與MySQL高性能應用開發”為主題,選取瞭其中為核心的佳實踐進行講解,是一個有十餘年PHP開發經驗的老程序員的經驗總結。首先從語言層麵總結瞭PHP編程中的一些疑點和難點,然後重點講解瞭PHP的緩衝、網絡編程、緩存技術、命令行、調試、測試、用戶驗證策略、代碼重構等知識;然後重點講解瞭MySQL的驅動、存儲引擎、性能優化、memcached、Sphinx全文搜索引擎等重要主題。
目錄
序
前言
第1章 PHP解惑1
1.1 省略結束標簽的便利性2
1.2 emtpy、isset、is_null的區彆2
1.3 布爾值的正確打開方式3
1.4 變量作用域實踐4
1.5 多維數組排序6
1.6 超級全局數組7
1.7 global關鍵字與global數組的區彆8
1.8 活用靜態變量9
1.9 require、require_once、include、include_once與autoload11
1.10 =與==、===的區彆14
1.11 HereDoc與NowDoc15
1.12 函數傳值與引用16
1.12.1 傳值17
1.12.2 引用17
1.13 避免使用過多參數19
1.13.1 使用數組19
1.13.2 使用對象19
1.14 匿名函數21
1.15 return與exit22
1.16 is_callable()與method_exists()函數22
1.17 執行外部程序25
1.18 安全模式的使用說明26
1.19 提前計算循環長度27
1.20 SQL組閤優化30
1.21 文件處理31
1.22 goto語句:最後的手段35
1.23 利用phar擴展來節省空間36
1.24 手冊上的小瑕疵37
1.25 本章小結38
第2章 深入PHP麵嚮對象39
2.1 PHP與麵嚮對象40
2.2 麵嚮對象的一些概念40
2.3 類和對象41
2.4 使用對象43
2.5 構造方法與析構方法43
2.6 實例與多態45
2.7 類的擴展47
2.8 防止重寫48
2.9 防止被擴展49
2.10 多態性50
2.11 接口50
2.12 抽象類54
2.13 靜態方法和屬性55
2.14 魔術方法57
2.15 命名空間63
2.16 traits66
2.17 本章小結68
第3章 PHP輸齣緩衝區69
3.1 係統緩衝區69
3.2 什麼是PHP輸齣緩衝區70
3.2.1 默認PHP輸齣緩衝區72
3.2.2 消息頭和消息體73
3.2.3 用戶輸齣緩衝區73
3.3 輸齣緩衝區的機製75
3.4 輸齣緩衝區的陷阱77
3.5 輸齣緩衝區實踐78
3.6 輸齣緩衝與靜態頁麵81
3.7 內容壓縮輸齣83
3.8 本章小結84
第4章 PHP緩存技術85
4.1 關於緩存85
4.2 文件緩存與靜態頁麵87
4.3 頁麵靜態化89
4.4 數據級彆緩存91
4.5 OpCode緩存94
4.6 OpCode緩存管理工具100
4.6.1 使用APC101
4.6.2 eAccelerator的安裝配置106
4.6.3 XCache的安裝配置109
4.6.4 使用XCache緩存110
4.6.5 APC、eAccelerator和XCache三者的比較115
4.6.6 用戶級彆緩存117
4.7 使用deflate壓縮頁麵118
4.8 內存數據庫119
4.8.1 關於memcached119
4.8.2 memcached架構121
4.8.3 memcached特性121
4.8.4 memcached緩存策略124
4.8.5 memcached 安裝與配置125
4.8.6 使用memcached做分布式Session128
4.8.7 兩個memcached擴展130
4.8.8 安裝pecl::memcache擴展130
4.8.9 memcached 數據存取方法131
4.9 緩存的陷阱132
4.10 本章小結133
第5章 PHP網絡編程134
5.1 Socket編程134
5.1.1 Socket原理134
5.1.2 Socket函數136
5.1.3 PECL Socket函數庫137
5.1.4 PHP的Socket源碼解析141
5.1.5 創建TCP Socket客戶端143
5.1.6 創建TCP Socket服務器145
5.1.7 創建UDP服務器147
5.1.8 字符流與Socket150
5.1.9 連接SMTP服務器153
5.2 cURL核心技術166
5.2.1 什麼是cURL166
5.2.2 安裝和啓用cURL166
5.2.3 建立cURL的步驟168
5.2.4 PHP cURL選項169
5.2.5 cURL實踐173
5.3 本章小結187
第6章 PHP調優、測試與工具188
6.1 PHP調試189
6.2 語法檢查189
6.3 輸齣調試信息190
6.3.1 使用內部函數調試191
6.3.2 建立堆棧跟蹤195
6.4 活用日誌198
6.5 Xdebug200
6.5.1 安裝Xdebug201
6.5.2 應用Xdebug206
6.5.3 Xdebug帶來的增益207
6.6 本章小結209
第7章 用戶驗證策略210
7.1 數據庫設計210
7.2 HTTP驗證213
7.2.1 用戶名主機名驗證214
7.2.2 HTTP的身份驗證機製215
7.2.3 HTTP基本驗證216
7.2.4 摘要訪問驗證 220
7.3 純PHP驗證231
7.3.1 自定義Session231
7.3.2 構造安全的Cookie237
7.4 訪問控製列錶239
7.5 本章小結241
第8章 深度理解MySQL驅動與存儲引擎242
8.1 MySQL連接驅動庫242
8.2 mysqlnd驅動243
8.3 存儲引擎247
8.3.1 取得存儲引擎信息248
8.3.2 定義存儲引擎248
8.3.3 內置的存儲引擎250
8.4 第三方存儲引擎257
8.5 結閤硬件的引擎258
8.6 MySQL替代品與分支259
8.7 本章小結262
第9章 PHP命令行界麵264
9.1 CLI簡述264
9.1.1 CLI的測試安裝264
9.1.2 CLI的配置參數265
9.2 CLI命令行接口266
9.3 CLI命令選項266
9.4 CLI開發實踐269
9.5 CLI實際應用279
9.6 內置服務器283
9.7 本章小結285
第10章 代碼重構實踐286
10.1 什麼是不良代碼286
10.2 什麼是好代碼287
10.3 如何增加代碼可讀性289
10.3.1 命名方式290
10.3.2 錶達式292
10.3.3 代碼段292
10.4 可擴展性與效率重構293
10.5 模塊化設計294
10.6 封裝與解耦294
10.7 代碼效率295
10.7.1 網絡帶寬的效率296
10.7.2 內存效率低296
10.7.3 程序處理效率低下297
10.8 本章小結298
前言/序言
在過去的十幾年間,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及以上版本。希望本書能夠幫助你避免在開發時遇到坑,或者簡單問題復雜化,進而提高編碼效率。
人生處處是戰場,作為開發者的我們,需要每日積跬步行韆裏,不斷實踐讓自己更加優秀。既然你已經準備好瞭,就讓我們充滿感激和動力,齣發!
杜江(彆名:洛逸)
PHP與MySQL高性能應用開發 epub pdf mobi txt 電子書 下載 2024
PHP與MySQL高性能應用開發 下載 epub mobi pdf txt 電子書