前 言
写给PHP开发者的Node.js学习指南
为什么要写这本书呢?
就互联网语言来说,PHP产生于1995年,是一门很古老的语言;而Node.js产生于2009年,是一门非常新的语言。结合PHP和Node.js你可以鸟瞰整个Web服务器从起源到现在的历史过程以及其中的改变。但是更重要的是,这些内容告诉了我们哪些没有改变——没有改变的那些,是整个行业公认的最佳实践——以及一点点未来可能的样子。
PHP与Node.js最大的不同在于,PHP是一门阻塞型语言,依赖于API并且在执行结束前并不返回任何结果,而Node.js是一门非阻塞语言,依赖于执行结束时使用事件和回调机制的API。除了这一点外,PHP和Node.js惊人地相似。PHP和Node.js,都类似于C语言,使用花括号({})作为代码段的标记,有function关键字,用于同样的目的以及语法相同。如果Node.js验证了阻塞型API已经是过去时了,那么它同样也验证了C语言在过去、现在、未来的一些演化。回调机制可能是一个演化的进步,但是语法已成定式。
但是,“哦,听起来好像没那么有趣”,为什么要出版这本书呢?
相当数量的网站托管服务都提供了对PHP的支持。如果你开发了一个Web应用,希望交给别人来运行,如果是由PHP编写的话几乎可以在任意地方安装。他们可以购买每个月10美金的Web服务来安装你的PHP程序。
但是Node.js并没有这么大范围的支持。事实上我并不知道有哪个Web托管服务是支持Node.js的。但是我了解的是很多开发人员都对Node有兴趣并尝试用Node进行开发。使用Node.js开发,Web程序代码对开发人员来说变得有趣了。如果你开发了Web程序,并希望其他开发人员可以改进和重用,他们可以从GitHub或者其他源代码服务获得你的Node.js Web程序。
在完美的世界中,也许你可以同时满足这两种人的需求。
但是我们的世界并不完美,不过你可以将PHP代码移植到Node.js,同时用这两种不同的语言开发两个代码库,来满足不同的需求。
目 录
第 1 章 Node.js基本介绍
1.1 Node和npm命令
1.2 堆栈追踪
1.3 Eclipse PDT
第 2 章 简单的Node.js框架
2.1 HTTP服务器
2.2 预定义的PHP变量
2.3 一个PHP示例页面
第 3 章 简单回调
第 4 章 高级回调
第 5 章 HTTP Response
第 6 章 语法
第 7 章 变量
第8章 类
第 9 章 文件访问
第 10 章 MySQL数据库访问
第 11 章 文本、JSON和XML
第 12 章 各种各样的函数