PHP and Node.js or only Node.js?



我想编写一个简单的聊天应用程序(用于测试用途)。

用户和消息被持久化在MongoDB中,会话被存储在Redis中。

PHP(Symfony2)提供身份验证,注册,passwort重置等,并为公共站点提供服务(如/,/contact等)。

当用户登录时,它已控制聊天应用程序。主干.js处理应用程序和节点.js通过 rest(或 socket.io)提供数据。

我应该并行使用 PHP 和 Node 还是只使用 node?

只使用node的好处是没有端口冲突,缺点是节点应用程序变得非常大并且不那么可读(恕我直言:cmf,注册,授权,电子邮件处理使用symfony比node更容易做到)

将 Web 应用程序逻辑保留在 PHP 中是完全有意义的。这就是PHP擅长的,将其移植到node.js代码可能是一种浪费和痛苦的体验。

另一方面,Node擅长网络和服务长时间运行的连接,例如WebSockets(socket.io,SockJS等)。因此,使用聊天服务器也是有意义的。

我建议你同时使用两者,因为它们中的每一个都解决了它擅长的特定问题。您可以使用某种消息队列轻松连接它们。

您可以尝试使用节点Web服务器JooDee,它允许您在网页中嵌入服务器端javascript。 如果你熟悉Node和PHP/ASP,创建页面是一件轻而易举的事。 下面是页面外观的示例:

<!DOCTYPE html>
<html>
<:  //server side code in here
    var os = require('os');
    var hostname = os.hostname();
:>
<body>
    <div>Your hostname is <::hostname:></div>
</body>
</html>

使用 JooDee 还可以通过将属性附加到"客户端"对象服务器端,并在客户端 javascript 中访问生成的"客户端"对象,毫不费力地向客户端公开服务器 javascript 变量。

https://github.com/BigIroh/JooDee

最新更新