我们有一个用 asp.net c# (3.5) 和 SQL Server 编写的企业应用程序,我们希望将其捆绑并发布给客户。

然而,一些人对此表示担忧 需要 由于成本原因,使用微软服务器。是的,我知道...因此,我们正在考虑将其移植到 LAMP 堆栈中,其中“P”指的是 php。

在来自 Visual Studio asp.net 环境的 LAMP 堆栈上进行开发时,我们会面临哪些挑战?

我确定的问题是:

  1. 调试:Visual Studio 对于客户端和服务器端调试都非常有用。
  2. 框架:模型背后的代码运行良好,MVC 框架也很好。
  3. 维护:我们希望该功能集在两个平台上都是通用的。
  4. 数据库层:代码与 mssql 数据类型松散耦合。

如果您已经经历了这个令人兴奋的过程,我很想知道它是什么样的,并提供一些建议/提示。

另一方面,我们有什么办法可以按原样运行这段代码吗?单核细胞增多症?其他的?

有帮助吗?

解决方案

我对.NET有比使用* AMP堆栈更多的经验,但根据我对XAMPP的经验,我会提供以下观察

  1. 调试:Visual Studio非常适合客户端和服务器端调试。

    Eclipse PDT 非常适合设计,开发和调试。我听说过有关Zend Studio的好东西,但还没有使用它。

  2. 框架:模型背后的代码效果很好,MVC框架很好。

    有一些框架可以让你将表现与逻辑分开(例如 Smarty )至少有一个MVC框架可用(例如 CakePHP

  3. 维护:我们希望功能集在两个平台上都很常见。

    如果您排除Windows特定功能(Windows集成安全性等),那么不能在两个堆栈中都不应该做多少,但如果您必须重现像gridview这样的控件,它将会劳动密集。

  4. 数据库层:代码与mssql数据类型松散耦合。

    我不知道任何无法在mysql和sql server之间映射的数据类型,并且有很好的文档处理迁移

  5. 单声道可能会减少移植解决方案所需的时间,但我不知道您可以按原样重复使用所有代码“。

其他提示

您可以考虑的另一个PHP IDE是NetBeans。

作为.NET,Java和LAMP的开发者,最大的变化主要是文化。例如,PHP有一个不使用OO原则的遗产,而ASP .NET起初是一种具有完全OO支持的.NET语言。这种基本差异导致了一些重大问题,例如PHP的长保留关键字列表等等。

其他 MVC 框架:

  • 代码点火器
  • 小花
  • 伊伊

(刚刚知道Yii。 这是一篇文章 比较它们。)

那里可能还有六个。

我自己有Asp.net背景,过去几个月一直在研究开源框架。我还没有下定决心。我最近一直在看Grails。似乎拥有两全其美 - 在企业平台上使用脚本化,易于使用的开源RAD MVC框架。它使用Groovy脚本语言(类似ruby),但在JVM上运行,因此如果您愿意,可以使用完整的Java框架。有大量预先编写的Java组件可供使用。这件事很酷。你可以很快地移植你现有的应用程序。你需要一个Tomcat webhost。

如果你需要PHP,直接的PHP表现相当不错,但大多数框架表现不佳。如果使用直接PHP,则没有mvc。您将使用传统的基于页面的模型。但是你会感觉更有家的感觉。您可以使用PDO滚动自己的DAL并使用存储过程。你需要一个模板系统。远离使用它自己的模板语言的Smarty。它很慢,为什么你需要学习一个单独的模板语言。我从来没有那样。请改用Savant: http://phpsavant.com/ 。它使用php作为模板语言并且速度很快。您也可以通过为每个网站页面创建模板页面来模仿代码隐藏。至于mvc,有一个名为Yii的新PHP框架( http://www.yiiframework.com/ )声称拥有php框架的最佳性能。它也有很好的记录。如果你来自.Net,它可能是最好的PHP框架。感觉企业像Zend,但没有糟糕的表现。大多数其他玩具都是玩具或非常慢,如Symphony和Cake。 Php适用于Apache。与Rails和Django不同,没有太多的调整或维护。

接下来你需要一个IDE。和Netbeans一起去吧。使用PHP版本并安装 http://www.xdebug.org/ 。会觉得自己不如VS,但也不错。

对于DB来说,MySql是性感的选择,但Postgres更胜一筹。它有一个数据库引擎可以完成所有工作。使用Mysql,你想要的一些功能在InnoDB中,有些功能在MyIsam中。如果您需要外键和交易,您必须使用InnoDB。使用MyIsam进行全文搜索和更快的读取性能。 Postgres的性能已经大大提升了版本8的版本(现在和mysql一样),最后有一个很好的Windows安装程序。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top