作者拥有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及以上版本。希望本书能够帮助你避免在开发时遇到坑,或者简单问题复杂化,进而提高编码效率。
人生处处是战场,作为开发者的我们,需要每日积跬步行千里,不断实践让自己更加优秀。既然你已经准备好了,就让我们充满感激和动力,出发!
杜江(别名:洛逸)