序
读着杜江先生的新作,让我想起了十几年前,在我所服务的公司——美国Yahoo!总部的一些经历。那时候,还是互联网的迅速发展阶段,Yahoo!还是个不到一千人的新兴公司,正从各地招兵买马,壮大充实,以和当时的劲敌美国在线、Lycos等力拼。在早期互联网公司松散的管理下,各个部门各自为政,除了操作系统基本上是FreeBSD,Web Server主要是Apache以外,其他就要看各部门主力工程师的个人偏好了,于是百花齐放,Perl、C/C++、Java都有人用,更有Yahoo!内部开发的所谓HTML Forms和HF2K的脚本语言。我那时候负责Yahoo Everywhere部分开发及全球部署工作,职责就是把Yahoo!的各种服务WML化,让人们在世界各地用手机上网也能轻松享用Yahoo!的各项产品。那时,除了和电信运营商、手机厂商打交道,最多的时间就是花在和Yahoo!内各部门的工程师协调、合作,以及了解、衔接他们的系统。
相比之下,现时的互联网工程师是比较幸运的。基本上,开发一个网站项目,在工具、架构的选择上已是没有什么悬念,除了微软或Java那一套,就是所谓的LAMP(Linux、Apache、MySQL、PHP)模式了。毕竟这个模式不但完全免费,而且身经百战,被Yahoo!、新浪等大型网站广为采用。还记得当年(应该是2001年吧),雅虎美国总部为了整治公司内部系统的混乱,弥补自身脚本语言的不足,为长期持续的发展建立可以持续的基础,很明智地在公司各部门统一推广使用PHP。这一举措也为PHP日后的壮大起到了一定的推动作用。
不过,也因为这样,在前人的努力累积的硕果上,再加上互联网搜索信息快速方便,养成了许多工程师的惰性。这个现象在中国感觉尤为严重。有了LAMP的架构,又随时可以搜到各种问题的开源解答,许多工程师或管理人员就把网站建设不当回事,也不深究,不求甚解。要知道,要把一个网站搭建起来,的确可以是一个很简单的事,但是,要做大,要做好,要做到英文里各种所谓“bilities”(maintainability、flexibility、extensibility、availability、reliability、scalability)的境界,很多东西是要深入了解、细细琢磨的。这就是为什么我常强调,希望我的合作伙伴都是“工程师”,而非简单的“程序员”。
杜江先生就是我曾共事过的高级工程师之一。他写的这本《PHP 5完全攻略》可以说同时兼顾到了“工程师”和“程序员”两种读者的需求。
这本600多页的参考书既有许多针对日常会遇到的问题、案例,提供可直接应用的答案,又有深入、循序渐进的描述,解析了PHP 5及MySQL 5的技术细节,是一本值得推荐给所有以PHP、MySQL为基础搭建网站的工程师与程序员的好书。
孙至俊
——宝宝树首席技术官(前雅虎一拍网CTO/爱康网CTO)
Babytree.com Inc. CTO Jonathan Sun