【问题标题】:Need to convert my php app in node.js [closed]需要在node.js中转换我的php应用程序[关闭]
【发布时间】:2012-07-04 16:21:13
【问题描述】:


我需要将我的应用程序平台从 php/apache 更改为 node.js ,但我不明白如何继续。
我的应用具有类似 codeigniter 的结构。
我想使用 express ,我已经阅读了它的官方 ste ,也是初学者的教程。代码没有问题,但不了解如何适应它的结构。
请帮助我提供一些不错的链接或示例

【问题讨论】:

  • 这是不移植应用程序的方法。
  • 为什么要转储php
  • 对 php 没有什么不好的感觉,这是我的初恋,但我的上级想试试 node.js....
  • 那么你可能需要学习如何在 node.js 中构建一个应用程序,然后用这个理解移植它。不确定我们是否可以提供任何其他建议......尽管可能有关于如何将“经典”MVC 应用程序移植到 node.js 模型的指南。也许值得谷歌搜索
  • 是的@Pekka 继续谷歌搜索。学习一门新语言的最好方法是必须在其中构建一些新的东西。只有那些害怕犯错误的人才会关心范式。范式是计算机科学领域的一角钱,它们都有一个目的。通常用于制作大型可扩展应用程序。问题是大多数应用程序都是从小规模开始的,而老板们希望快速转变。所以把它弄脏,然后当人们足够关心它以投入更多的金钱和人力时,再把它擦亮。

标签: php node.js express


【解决方案1】:

我不同意你应该在使用 node.js 中的一些优秀库之前自己动手。没有人建议您在使用 Ruby on Rails 或 ASP.NET MVC 之前构建自己的 MVC 框架。但是,您绝对必须了解 node.js 的优点和缺点以及如何有效地利用它们。

ASP.NET 和 PHP 比 node.js 是更多更宽容的平台。如果您在大多数平台上做一些愚蠢的事情,您仍然可以部署并拥有一个功能系统。他们非常容忍糟糕的性能和草率的代码。如果您在 node.js 中搞砸了,整个网络服务器可能会在处理某些内容时简单地停止响应请求。

可以从 node.js 获得极好的性能和可扩展性,但您必须了解函数式编程并确保您编写的代码不会阻塞。您必须知道如何将中型和大型应用程序分解为单独的部分(我敢说 节点?),这些部分知道如何进行通信以完成更复杂的任务。

【讨论】:

  • 我不是在谈论滚动你自己的框架,我只是建议人们在尝试编写基本的 Web 应用程序之前必须从头开始学习 node.js :)
  • 我不同意@schaemu,您只需要了解一些 javascript 和 HTTP 请求和标头即可构建 Node Express 应用程序。我知道是因为我做到了,而且我从未完成过一个“Hello Word”应用程序。我只是看了例子。我也在 JSP、Symfony 和 Rails 中做过,我更喜欢 Node,而不是所有这些。如果 OP 的老板对所需时间持现实态度,那么 OP 没有理由不能做到这一点。
【解决方案2】:

您甚至无法远程比较 node.js 与 PHP 之类的东西。 Node.js 旨在提供全栈高性能 IO 框架,而不是基于您选择的 Web 服务器的脚本语言。

首先,您必须确保完全了解 node.js 范式及其基于事件的架构。它与 ASP.NET 或 PHP 之类的东西完全不同,你真的必须重新考虑整个编程模型。为了实现这一点,从头开始学习 node.js 很重要!不要直接从诸如 express 或 flatiron 之类的框架开始。从基础开始学习:console.log('Hello world')

也许有一些好的起点:

一些进一步的链接: Advanced documentation for node.js developer

【讨论】:

  • 这个。 OP 的上级可能不知道他们正在进入什么领域,以及将现有应用程序从 PHP 世界中切换出来会有多困难......
  • 我认识我的朋友,但与其争吵,我可以学习 node.js。最好只在我的简历中添加.. ;-)
  • ... 然后是“Node.js for PHP Developers - Porting PHP to Node.js”一书来自 Oreilly,尽管它错过了这个答案中提到的整个范例等内容
  • 作为一个经过改革的 PHP 开发人员,我一直使用 Javascript 事件处理,因为 PHP 做不到这些事情。所以 Node.js 根本不是这样的范式转变。我很高兴我现在可以为客户端和服务器使用相同的语言编写代码。一旦您了解 Promises,它就会变得更好!
猜你喜欢
  • 2021-05-19
  • 2012-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-26
  • 1970-01-01
  • 2011-07-09
  • 2014-11-07
相关资源
最近更新 更多