经验丰富的Asp.net程序员在进入PHP时应该知道什么?

时间:2011-02-28 14:45:36

标签: php asp.net windows lamp

我想将自己视为有点经验丰富的asp.net/c#程序员。我喜欢asp.net的面向对象的善良。我喜欢它的类型变量。我喜欢在Visual Studio中工作。

然而,今天下午,我对使用php / mysql编写网络应用程序的愿望表示不满。

我想知道,作为一名自信的Asp.net程序员,我需要了解PHP的基本原理(我认为整灯系统)能否缓解学习曲线?

您可以进行比较或类比吗?像我一样诡计交叉?等?

我不想要的一件事是争论性的或有偏见的比较。天知道网上已经有足够的内容了。

4 个答案:

答案 0 :(得分:3)

问题来自PHP-> .NET / C#,因为PHP提供了太多的灵活性,这就是为什么每个人似乎都擅长PHP编程,但相信我,我在我看到的软件怪物PHP的生命是80%。来自70%PHP的建议 - 30%的Java开发人员:保持标准,一切都会好起来的。 PHP可以通过它的灵活性来欺骗你:松散类型的内置模板引擎,基本上是关联数组的对象,奇怪的错误处理,可以作为类,变量和函数名称轻松处理的字符串。

如果我要做一个比较:Java =军事独裁(这就是为什么Java是我最喜欢的编程语言)PHP = Hippie Haven(我尽力做一个标准的技术暴君),你必须没有法律依靠“常识”,如果你缺乏“常识”......好吧,它会导致混乱。

要查看一个小比较,我建议您查看eFront网络学习平台的来源(这是一个开源的eLeraning解决方案,具有出色的业务需求覆盖和可怕的编码)

要看到相反的情况,请看看Joomla或Magento的消息来源。 (他们在自己的领域也有很好的业务覆盖率。)

如果你使用PHP,请确保你保持光明。

答案 1 :(得分:2)

从语言的角度来看,PHP是松散的类型。这非常重要,可以产生很大的不同。但是只要你小心使用它,并在适当时使用===而不是==,它就不应该让你失望。 (在很多情况下,它实际上可以使事情变得更容易)

但是你要注意的很大的不同之处在于你没有.NET框架可以使用。它提供的所有有用的方法;走了。

取而代之的是,至少在一个vanilla PHP安装中,有一大堆不一致命名的函数和类库。

PHP manual是学习所有这些功能的绝佳资源 - 可能是网上最全面,最实用的手册之一。它使PHP非常容易访问,并且您应该能够在大多数情况下找到您正在寻找的功能。

但是如果你真的想要一个体面的框架库,你应该认真考虑查看一个众所周知的PHP框架,并在学习PHP的同时安装和学习它。我建议看Symphony或CakePHP,但还有其他一些值得调查。无论你选择哪一种,如果你已经习惯了MVC开发模式,这些框架将使你对PHP的介绍变得更加容易。

希望有所帮助。

答案 2 :(得分:1)

http://www.php.net是你的朋友,在你完成这些功能时阅读评论,在那里学到很多经验教训。

答案 3 :(得分:1)

如果你要从ASP.NET WebForms(我假设你是)开始,那么你需要意识到的最大的事情就是.NET中为.NET开发提供的过多的类在PHP中是不存在的 - 没有错误之处在于:PHP为您提供了更强大的控制权,可以将Web应用程序带到您想要的任何方向。

简而言之,ASP.NET是开发Web应用程序的完整框架,PHP只是一种编程语言。但是,与.NET一样,有一些框架可以帮助您构建Web应用程序。

你需要记住的最重要的事情:

  1. 没有代码隐藏页面。 PHP不支持部分类,因此您无法使用此功能。像Prado这样的一些框架在模仿这个方面做了令人钦佩的工作。
  2. 没有观看状态。您需要手动处理GET和POST数据。
  3. 没有控件。如果您还不熟悉它,那么您肯定需要掌握如何编写自己的HTML并将数据推送给它们。
  4. 文件管理 - 您需要使用include或require手动加载文件。由于PHP不是已编译的应用程序,因此您需要手动包含要使用的每个文件。