天天看点

《写给PHP开发者的Node.js学习指南》一2.3 一个PHP示例页面

本节书摘来自异步社区《写给php开发者的node.js学习指南》一书中的第2章,第2.3节,作者【美】daniel howard,更多章节内容可以访问云栖社区“异步社区”公众号查看

写给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开发者的Node.js学习指南》一2.3 一个PHP示例页面

首先,把php代码拷贝并粘贴到page()函数中,这会产生比较奇怪的,没有功能的php/node.js混合代码:

《写给PHP开发者的Node.js学习指南》一2.3 一个PHP示例页面
《写给PHP开发者的Node.js学习指南》一2.3 一个PHP示例页面
《写给PHP开发者的Node.js学习指南》一2.3 一个PHP示例页面

然后修改httpsvr.njs文件,将showx5.php url指定到showx5.njs本地模块:

《写给PHP开发者的Node.js学习指南》一2.3 一个PHP示例页面

假如你将httpsvr.njs、initreq.njs和showx5.njs文件放到同一个目录下并且运行node.js服务器,那么php和node.js代码执行效果都一样。使用客户端如浏览器去访问下面的url会得到一样的结果:

《写给PHP开发者的Node.js学习指南》一2.3 一个PHP示例页面

第一个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。