首页>参考读物>计算机科学与技术>软件与程序设计

PHP与MySQL高性能应用开发
作者 : 杜江 著
丛书名 : Web开发技术丛书
出版日期 : 2016-09-18
ISBN : 978-7-111-54796-9
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 308
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书以“高性能PHP与MySQL应用开发”为主题,选取了其中最为核心的最佳实践进行讲解,是一个有十余年PHP开发经验的老程序员的经验总结。
首先从语言层面总结了PHP编程中的一些疑点和难点,然后重点讲解了PHP的缓冲、网络编程、缓存技术、命令行、调试、测试、用户验证策略、代码重构等知识;然后重点讲解了MySQL的驱动、存储引擎、性能优化、memcached、Sphinx全文搜索引擎等重要主题。

图书特色

PHP与MySQL高性能应用开发
PHP and MySQL
High-Performance Applications Development
杜江?著
作者拥有15年研发经验,资深PHP专家和架构师,曾担任赶集网和今日头条技术总监,好乐买和正和岛的CTO
围绕高性能、可扩展性、可伸缩性、可靠性等与PHP应用性能相关的主题展开,同时还涉及PHP编程思想、底层原理、编程技巧、开发规范等重要内容
曾经有人问我如何学习PHP,感觉自己遇到了瓶颈,相信不少人都有类似的困惑。学习就像在大海中行船,在黑夜时,需要灯塔指引。杜江有十多年的PHP开发经验,有深厚的技术功底。本书面向的对象是有一定PHP基础,但是又想深入学习的PHP开发者。书中不仅讲解了OOP、设计模式,也讲解了如何进行性能优化和调试。甚至,还对于语言之外的代码重构进行了讲解。相信这本书会为你学习PHP带来良好的启发。
——信海龙(苍龙) 阿里巴巴技术专家 
杜江与我是同乡、校友,更是心照神交的好兄弟。相识十余载,我对他在互联网技术领域知根究底、传经布道的精神和做法,看在眼中,赞在心中。他是一位从一线磨砺出来的技术高手,在赶集网、今日头条、好乐买、21CTO、正和岛做过技术合伙人或CTO。他对电商、移动互联网技术,有着非同一般的洞见。以他介入互联网技术的广度和深度,我相信他能够在今日取得的成就之上,为行业以及社会做更大的贡献,取得更大的成就。相信PHP开发者读过这本“心法”后,一定会有新的启发,尤其会在技术解决方案和架构模式设计上获益良多。  
——贾海冬 车友宝CTO  
与杜江相识多年,但一直只闻其美名,却未见真身。他在PHP领域持续专注地投入十余年,服务过不少知名企业,积累了丰富的开发经验。同时,他还为国内PHP技术领域撰写了两本优秀的PHP著作。杜江秉承一贯严谨、负责的作风,创作了这本良心之作,相信能为广大PHP开发者们带去帮助。
——王福强 前挖财首席架构师
内容简介
本书内容主要围绕PHP应用的性能、可扩展、可伸缩性、可靠性等主题展开,详细讲解和分析了这些主题涉及的技术细节和原理。除此之外,书中还讲解了PHP的编程思想、底层原理、编程技巧、开发规范等方面的内容。是面向有一定基础的开发者的进阶之作,是作者在PHP领域近15年开发经验的盘点和总结。另外,本书也希望帮助你避免在开发时遇到坑,简单问题复杂化,进而提高编码效率。
主要包含主题:
■ 解惑﹕掌握PHP编程中的“长尾”细节
■ 深入﹕PHP面向对象高级开发
■ 浅出﹕PHP开发中的调试与技巧
■ 编程之道﹕透彻理解面向对象开发思想与设计模式
■ 重量级开发﹕开发自己的PECL扩展
■ 更快﹕使用OpCode缓存
■ 扩展﹕memcached以及扩展应用
■ 搜索﹕Sphinx全文搜索引擎
为了提供更好的实用性,本书除了详解对PHP中的深度开发外,还提供了一定的代码实例。读者可登录21CTO(www.21cto.com)本书相关页面下载。

作者简介
杜江,资深PHP技术专家和架构师,有近15年PHP开发经验。精通LAMP、Perl、Java、iOS、Swift等开发技术和语言,对分布式系统以及亿级并发、高负载、高可用架构有较深入的研究,积累了丰富的实战经验。
21CTO(21cto.com)社区创始人&CEO,21CTO是国内第一家服务于CTO和架构师等高端IT技术人员的学习和交流平台,在行业内有一定的影响力。在赶集网、今日头条、好乐买、正和岛等多家企业担任过技术工程师、技术总监和CTO等职位。
乐于分享,著作颇丰,著有《PHP5完全攻略》和《PHP5与MySQL5 Web开发技术详解》等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)与笔者进行交流。
同时,欢迎大家提出宝贵意见,以便在本书再版时为读者带来更好的体验。

上架指导

计算机\程序设计

封底文字

推荐序
曾经有人问我如何学习PHP,感觉自己遇到了瓶颈,相信不少人都有类似的困惑。学习就像在大海中行船,在黑夜时,需要灯塔指引。杜江有十多年的PHP开发经验,有深厚的技术功底。本书面向的对象是有一定PHP基础,但是又想深入学习的PHP开发者。书中不仅讲解了OOP、设计模式,也讲解了如何进行性能优化和调试。甚至,还对于语言之外的代码重构进行了讲解。相信这本书会为你学习PHP带来良好的启发。
——信海龙(苍龙) 阿里巴巴技术专家 
杜江与我是同乡、校友,更是心照神交的好兄弟。相识十余载,我对他在互联网技术领域知根究底、传经布道的精神和做法,看在眼中,赞在心中。他是一位从一线磨砺出来的技术高手,在赶集网、今日头条、好乐买、21CTO、正和岛做过技术合伙人或CTO。他对电商、移动互联网技术,有着非同一般的洞见。以他介入互联网技术的广度和深度,我相信他能够在今日取得的成就之上,为行业以及社会做更大的贡献,取得更大的成就。相信PHP开发者读过这本“心法”后,一定会有新的启发,尤其会在技术解决方案和架构模式设计上获益良多。  
——贾海冬 车友宝CTO  
与杜江相识多年,但一直只闻其美名,却未见真身。他在PHP领域持续专地投入十余年,服务过不少知名企业,积累了丰富的开发经验。同时,他还为国内PHP技术领域撰写了两本优秀的PHP著作。杜江秉承一贯严谨、负责的作风,创作了这本良心之作,相信能为广大PHP开发者们带去帮助。
——王福强 前挖财首席架构师

作者简介

杜江 著:暂无简介

图书目录


前言
第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

教学资源推荐
作者: [印度]K.G.斯里尼瓦沙(K.G.Srinivasa) 阿尼尔·库马尔·穆帕拉(Anil Kumar Muppalla) 著
作者: [美] 劳拉·格雷泽(Laura Graesser) 龚辉伦(Wah Loon Keng) 著
作者: 杨树林 胡洁萍 编著
作者: 史涯晴 贺汛 编著
参考读物推荐
作者: [美]肯·寇森(Ken Kousen) 著
作者: 斯琴巴图 杨利润
作者: (美)Scott Seely