前言Preface在过去的十几年间,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系统不堪重负;第二,价格高昂的带宽、硬件、商业软件等成本高居不下,越来越多的互联网公司开始拥抱开源的LAMPLNMP平台。同时,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)与笔者进行交流。同时,欢迎大家提出宝贵意见,以便在本书再版时为读者带来更好的体验。