我想将自己视为有点经验丰富的asp.net/c#程序员。我喜欢asp.net的面向对象的善良。我喜欢它的类型变量。我喜欢在Visual Studio中工作。
然而,今天下午,我对使用php / mysql编写网络应用程序的愿望表示不满。
我想知道,作为一名自信的Asp.net程序员,我需要了解PHP的基本原理(我认为整灯系统)能否缓解学习曲线?
您可以进行比较或类比吗?像我一样诡计交叉?等?
我不想要的一件事是争论性的或有偏见的比较。天知道网上已经有足够的内容了。
答案 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应用程序。
你需要记住的最重要的事情: