从ASP.NET迁移到PHP

4

我是一名asp.net网络开发人员。最近我收到了一个写php网站的工作邀请(我将升级已经编写好的代码)。

我想知道,学习这种语言需要多长时间?它与asp.net有多大的不同?人们通常从asp.net转向php,还是相反?

谢谢。

5个回答

5

我既使用过PHP,也使用过ASP.net,但目前我更倾向于使用ASP.NET。

学习该语言的语法和函数对你来说应该相对容易。
它的语法与C语言非常相似,而且PHP文档非常有帮助,搜索功能也非常实用,社区和支持也非常好,因此查找函数应该很容易。

不过,要适应PHP这种动态弱类型语言的特性可能会更加困难。
就我个人而言,从PHP转到C#这种更受限制的环境反而更容易。
举几个例子,你需要适应数组能够包含多种类型的变量、关联数组与Dictionary的不同之处,以及不必显式声明变量(除非另有配置)等概念。

此外,你还需要了解这可能带来的缺陷潜在问题安全问题。 不过,你可以选择以不同的方式工作,声明变量类型并采用面向对象的方式。

话虽如此,还是值得重复之前提到的一些事情--
裸露的PHP模型更像经典ASP而不是ASP.NET。
没有严格的构建网站方法,与ASP.NET继承Page类或使用ASP.NET MVC不同。
但如果你觉得太灵活了,总可以使用众多的PHP框架之一,无论是为MVC还是其他模型。


1
非常感谢您的回复,您提供的小例子让我快速感受到不同编程语言之间的差异。 - vondip

2

vondip,

在这里,我们同时使用php和asp.net(侧重于mvc)。最大的“飞跃”将是熟悉可比较的开发环境。一年前我来到这个工作场所时,他们没有安装php IDE,并一直将东西输出到html页面进行调试。当时我立刻(因为我当时来自100%的.NET环境)研究了php IDE世界,并选择了nusphere phped (http://www.nusphere.com/products/phped.htm)。这对我的转型带来的影响难以估量,因为我通常在最好的时候花费90%的时间在线上进行调试 :)

那将是我唯一的主要建议 - 获得一个好的调试器/编辑器。一旦你开始工作,其他事情就会自然而然地解决。

jim


没错。我已经有一段时间没有进行任何直接的PHP开发了,所以Eclipse一直是我的最爱。在接下来的几个月中,我将会重新进入PHP开发,所以我一直在随意地寻找框架和IDE。我会看一下nusphere。谢谢。 - Joel Etherton
是的,我使用过Eclipse和Zend Studio。在我看来,PHPed更加出色,并且与.NET IDE类似,非常熟悉。另外,我刚刚意识到我回复你而不是Vondip了——糟糕。“Jim,请仔细阅读页面!” - jim tollan
我正在使用NetBeans进行PHP开发,虽然它不像Visual Studio(用于ASP.NET)那样完整,但我真的很喜欢它。网址是www.netbeans.org。 - bAN
我认为这实际上是找到适合你的工具的问题。当然,一个合适的集成开发环境比记事本和调试HTML代码要好得多 :) - jim tollan

1

PHP与Asp.Net非常不同。虽然语法与C#相差不远,但Asp.Net背后的概念在PHP中并不存在。Asp.Net可以作为脚本页面或编译资源运行,而PHP则严格按照脚本方式运行。.Net框架使许多任务更容易快速开发和处理(如果走得太远可能会削弱对事物如何运作和互动的理解)。虽然有一些PHP框架可用,但如果您要维护已经编写好的应用程序,大部分选择将由您做出,您的学习曲线不应该太陡峭。如果您是VB.Net开发人员,则需要一段时间来适应到处都是花括号和美元符号。如果您是C#开发人员,这应该不是一个大问题,特别是如果您具有传统的C背景。

我认识很多同时使用两种语言进行编程的开发人员(包括我自己)。没有实际的“运动”表明学习一门新语言,但随着企业级工作环境的功能增强和“购买力”的提高,我看到了从传统脚本语言向.Net的趋势。在我看来,小型企业和小型应用程序开发似乎正在趋向于使用PHP、Ruby和Python。


1
这是一个难回答的问题,因为我们都不知道你的技能水平。
有几件事情: - PHP中的函数名称与ASP中非常不同。 - 语法更像C#而不是VB,因此取决于您所做的ASP类型。 但PHP最好的部分是文档 http://www.php.net/docs.php 每个功能下面的注释中有大量示例,这些示例非常有帮助。
我认为您的经验也取决于您要工作的应用程序编写得有多好。

1

ASP.NET与PHP相当不同,但我认为只要你愿意付出一些努力,就可以赶上。

总的来说,PHP被认为是一种容易的语言,特别是如果你熟悉Java/C风格的语法。

你可以在互联网上找到许多不同的资源来学习PHP,但要注意可能会遇到的问题:由于PHP是一种流行的语言,你也会发现许多糟糕的例子,这可能会导致你自己编写糟糕的代码。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接