我是一名asp.net网络开发人员。最近我收到了一个写php网站的工作邀请(我将升级已经编写好的代码)。
我想知道,学习这种语言需要多长时间?它与asp.net有多大的不同?人们通常从asp.net转向php,还是相反?
谢谢。
我既使用过PHP,也使用过ASP.net,但目前我更倾向于使用ASP.NET。
学习该语言的语法和函数对你来说应该相对容易。
它的语法与C语言非常相似,而且PHP文档非常有帮助,搜索功能也非常实用,社区和支持也非常好,因此查找函数应该很容易。
不过,要适应PHP这种动态弱类型语言的特性可能会更加困难。
就我个人而言,从PHP转到C#这种更受限制的环境反而更容易。
举几个例子,你需要适应数组能够包含多种类型的变量、关联数组与Dictionary
的不同之处,以及不必显式声明变量(除非另有配置)等概念。
此外,你还需要了解这可能带来的缺陷、潜在问题和安全问题。 不过,你可以选择以不同的方式工作,声明变量类型并采用面向对象的方式。
话虽如此,还是值得重复之前提到的一些事情--
裸露的PHP模型更像经典ASP而不是ASP.NET。
没有严格的构建网站方法,与ASP.NET继承Page类或使用ASP.NET MVC不同。
但如果你觉得太灵活了,总可以使用众多的PHP框架之一,无论是为MVC还是其他模型。
vondip,
在这里,我们同时使用php和asp.net(侧重于mvc)。最大的“飞跃”将是熟悉可比较的开发环境。一年前我来到这个工作场所时,他们没有安装php IDE,并一直将东西输出到html页面进行调试。当时我立刻(因为我当时来自100%的.NET环境)研究了php IDE世界,并选择了nusphere phped (http://www.nusphere.com/products/phped.htm)。这对我的转型带来的影响难以估量,因为我通常在最好的时候花费90%的时间在线上进行调试 :)
那将是我唯一的主要建议 - 获得一个好的调试器/编辑器。一旦你开始工作,其他事情就会自然而然地解决。
jim
PHP与Asp.Net非常不同。虽然语法与C#相差不远,但Asp.Net背后的概念在PHP中并不存在。Asp.Net可以作为脚本页面或编译资源运行,而PHP则严格按照脚本方式运行。.Net框架使许多任务更容易快速开发和处理(如果走得太远可能会削弱对事物如何运作和互动的理解)。虽然有一些PHP框架可用,但如果您要维护已经编写好的应用程序,大部分选择将由您做出,您的学习曲线不应该太陡峭。如果您是VB.Net开发人员,则需要一段时间来适应到处都是花括号和美元符号。如果您是C#开发人员,这应该不是一个大问题,特别是如果您具有传统的C背景。
我认识很多同时使用两种语言进行编程的开发人员(包括我自己)。没有实际的“运动”表明学习一门新语言,但随着企业级工作环境的功能增强和“购买力”的提高,我看到了从传统脚本语言向.Net的趋势。在我看来,小型企业和小型应用程序开发似乎正在趋向于使用PHP、Ruby和Python。
ASP.NET与PHP相当不同,但我认为只要你愿意付出一些努力,就可以赶上。
总的来说,PHP被认为是一种容易的语言,特别是如果你熟悉Java/C风格的语法。
你可以在互联网上找到许多不同的资源来学习PHP,但要注意可能会遇到的问题:由于PHP是一种流行的语言,你也会发现许多糟糕的例子,这可能会导致你自己编写糟糕的代码。