本节书摘来自异步社区《写给PHP开发者的Node.js学习指南》一书中的第2章,第2.3节,作者【美】Daniel Howard,更多章节内容可以访问云栖社区“异步社区”公众号查看
2.3 一个PHP示例页面
写给PHP开发者的Node.js学习指南
page()函数就是页面本身。从广义上讲,这个过程就是将PHP文件中的PHP代码复制到page()函数中。然后将page()函数中的PHP代码转换成Node.js代码。当page()函数中只有Node.js代码并且复制过来的PHP代码一点不剩的时候,page()函数就会和PHP代码的行为完全相同,除了它是Node.js而不是PHP。
下面将会展示一个简单的转换示例。
假设现在你有一个简单的showx5.php页面,它同时包含PHP和HTML:
首先,把PHP代码拷贝并粘贴到page()函数中,这会产生比较奇怪的,没有功能的PHP/Node.js混合代码:
然后修改httpsvr.njs文件,将showx5.php URL指定到showx5.njs本地模块:
假如你将httpsvr.njs、initreq.njs和showx5.njs文件放到同一个目录下并且运行Node.js服务器,那么PHP和Node.js代码执行效果都一样。使用客户端如浏览器去访问下面的URL会得到一样的结果:
第一个URL会请求PHP服务器。第二个URL会请求与之相同的Node.js Web服务器。
虽然showx5示例是微不足道的,但是它演示了三件事情:
你有一个用来将PHP转换到Node.js的开发环境。
你有一个Node.js框架来支持每一个 PHP页面到Node.js的转换。
你可以很容易地把琐碎的PHP页面转换成Node.js。
在可以将琐碎的PHP页面转换成Node.js后,本书剩下章节将关注于如何转换那些复杂的,真实世界中的PHP页面。在下一章中,我们将讨论回调函数以及代码线性的概念,将会展示如何在将PHP代码粘贴到page()函数之前进行重构以利于之后更容易地转换成Node.js。