让我们进入正题。PHP是一种美妙的语言。它速度不快,语法也不漂亮。没有遵循良好的软件开发实践。但是我还是用它来开发很多软件。那么问题就变得很明显了,为什么PHP今天还在使用?除了个人理想主义偏好之外,还有很多原因。这是我们讨论的范围。为什么要选择PHP作为我的Web开发语言?什么是PHP?“PHP是什么意思?”或者问,“什么是PHP?”PHP是一种用于编写网页的语言。底层用C语言实现,代码用HTML标签语法包裹。PHP通常运行在服务器端,与Web服务器协同工作,负责处理HTML并返回给访问者。PHP最初的意思是“个人主页”。因为这完全限制了将该语言用于一般用途的意义和可取性,该语言现在代表“PHP:超文本预处理器”。这种写法称为递归缩写(全名引用自身的缩写)。Geeks喜欢这种名字。PHP能做什么?PHP可以用来做什么?一般来说,PHP可以在Web服务器上做任何您想做的事情。例如,开始一个博客。实施SAAS应用程序也很容易。写一个临时处理数据的脚本也很方便。或者写了一个复杂的脚本,有一天突然变成了一个成功的软件业务?这在过去也经常发生。服务器端脚本命令行脚本桌面应用程序我不鼓励最后一个,但它有效。但前两个确实是很好的理由。这导致了一个重要且不可避免的事实……PHP无处不在了解和喜爱PHP的原因有很多,这可能是最强大和最有效的一个:它可以在Web上的任何地方使用和运行。如果仔细观察,您可以购买一个每月3美元起的托管帐户,该帐户可能能够在Python或Ruby中运行Web应用程序。但它当然可以运行PHP。这意味着您可以始终依赖PHP。因为PHP可以在任何地方运行,而且因为它易于使用,所以很多非常流行的软件都是用PHP编写的。WordPress是我最有影响力和最熟悉的例子,但除此之外,像Joomla、Drupal、Magento、ExpressionEngine、vBulletin(是的,它仍然存在)、MediaWiki等工具都在服务器上运行PHP。不仅如此,还有无数的PHP应用框架,例如:Symfony、Zend、Laravel、Aura、CakePHP、Yii甚至是古老的CodeIgnitor框架。当然,您可以为任何其他语言制作一个类似的长列表。以Python、Ruby或Node/JavaScript等常见的Web语言为例,您甚至可以收集一个数字竞争列表来与PHP进行比较。但是运行PHP的网站数量多得无法估计。WordPress自豪地声称被30%的互联网用户使用。您甚至无需相信此声明即可意识到许多Internet应用程序必须使用PHP,即使该声明甚至可以想象是正确的。PHP动态特性的优点[![file]PHP和HTML可以很好地协同工作。将file.html修改为file.php,可以在标签中编写PHP代码,大多数web服务器的默认配置是直接运行PHP脚本。由于它的门槛非常低,不需要了解太多编程知识的新手程序员也可以直接上手,从而产生了很多低质量的代码。由于其易学性,大量涌入的菜鸟程序员暴露出PHP长期被诟病的另一个问题:PHP并没有把自己定位为最好的Web服务器端语言,当然也没有做到很棒的设计。导致另一个结果,全世界的合作松散,贡献代码和想法就像大杂烩一样,不可避免地,一些不好的想法渗入其中。拥有强大的面向对象的包管理现在是PHP的标准[![file]Composer是PHP的一个加分项。在PHP的发展中,经常会发布一些奇葩的东西。最著名的例子是PHP5.3中的介绍(被广泛认为是PHP的第一个现代版本)在PHP的发展过程中出现了类似的问题:面向对象最初是作为一个有缺陷和有限的概念来实现的,标准库中充满了不一致的名称和参数顺序,以及(举出最近的一个问题)解析器在PHP5.3中无法识别::运算符时抛出可读性差的错误:语法错误(T_PAAMAYIM_NEKUDOTAYIM),如果您不阅读文档,您是否可以理解T_PAAMAYIM_NEKUDOTAYIM标记的英文含义是什么?但是现在,PHP已经完全支持OOP。很少有语言像PHP一样具有类似Java的OOP实现。此外,与Java不同的是,PHP有一个独立的且受到广泛支持的包管理器,称为Composer。它非常易于使用,不容忽视的是它可以轻松引用高质量和维护良好的库,具有很高的易用性。PHP的快速发展通过这些事实发现,PHP正在以有趣的方式发展。它正在成为像java一样功能齐全的面向对象语言(无论好坏),为函数式编程提供简单的抽象,这可以说是目前最热门的语言。而且,有一套很棒的工具正在开发中,PHP非常喜欢并且有充分的理由当然,我们不应该忘记当前的热点:PHP在PHP7系列中的开发速度得到了提升。人们普遍认为这是由Facebook推出的HHVM引起的,在短时间内,HHVM的发展速度可能会破坏PHP社区,但事实并非如此,相反,PHP是发展得如此之快,以至于人们几乎忘记了HHVM的存在。PHP有一个庞大的社区;它对新手很友好。如果您决定使用什么很酷的新技术,我认为通常很少有人关注的是与语言达成一致的方式。学习PHP是一种怎样的体验?PHP教程很容易找到,而且通常质量很好。PHP流行的一个缺点是,您会发现一些不太了解这些工具的人提供的一些不太好的教学。或者十年前从某人那里学到的“最佳实践”。但总的来说,这种情况很少见,我认为这不应该让你气馁。或者突然发现你已经使用了几个月的最佳实践并不是最好的,这种情况并不常见,也不是什么大问题。PHP与其他语言的比较接下来,我们将PHP与其他语言进行比较。这些语言需要满足以下要求:开源:意味着你可以自由自在地使用或查看底层语言或程序;应用于Web开发领域:否一定是专注于Web开发,但在Web开发中应用比较大;高级动态语言:具有动态语言的特性,大多数面向web应用的语言都具有此特性;足够大的社区:满足上述条件的有很多,但只针对小范围使用的语言,我们用最后这个条件过滤掉。为什么要使用PHP?而不是JavaScript?也许与PHP相比最重要的语言是JavaScript。现代开发要求每个项目至少了解一点用于客户端开发和交互的JavaScript。使用Node,这使得在服务器上使用JS变得相对简单。在服务器和客户端上“同构”地使用相同的语言是非常诱人的。和PHP一样,JavaScript是一种不拘一格但有时丑陋的语言,有许多缺陷和“陷阱”,但JavaScript在过去十年中发展非常快,这是事实。为什么选择PHP而不是JavaScript?您已经具备专业知识或使用PHP库。否则,我认为JavaScript可能是更好的选择。PHPvs.DynamicServerPages(.NetCore)动态服务器语言起源于微软的一种网民编程语言。它非常直接类似于PHP。但它运行在Windows服务器环境中。这已被ASP.net取代。现在已被ASP.NETCore取代。后两者现在和PHP一样都是开源语言。而且我个人从来没有写过任何变体的ASP。如果我使用并且更喜欢Microsoft服务器,我会更喜欢ASP。否则,请给我PHP。两个社区的规模和大小没有可比性。我应该使用Ruby还是PHP?Ruby,尤其是RubyonRails,在过去十年左右非常流行。Ruby仍然是一种深受喜爱的语言,在我看来它比PHP更优雅。也就是说,他的社区较小。同时我意识到Ruby不再是“热门语言”(JavaScript接管了那个角色)。Ruby很优雅,而且有足够多的人擅长它,所以我不会回避它。但是雇用已经了解Ruby的人仍然比雇用PHP更难。(虽然我认为一般的Ruby开发人员比同等的PHP开发人员更好。)Python与PHP:谁更好?最后一个与PHP进行有意义的一对一比较的是Python。Python比PHP有更多的使用场景,专注于web开发(尤其是数据统计和分析)。人们普遍认为它是一种更稳定、更优雅的语言。[与Ruby和JavaScript一样,Python在服务器上运行比PHP稍微麻烦一点。但它是一门完美的语言,而且在使用上比PHP更多样化,我认为它是比PHP更受欢迎的语言之一,而且在其他方??面(例如:各种3rd方库,专业知识的获取,招聘和求职)都是一样的。PHP与Go语言?斯卡拉语言?Java语言?等等。如开头所说,很多语言在做比较的时候,都有或多或少的相似之处。可以比较的语言有很多,就说几个吧:java很流行,效率也很高。它通常用于构建Android应用程序、桌面应用程序和Web应用程序。虽然它不是动态类型的,但它有更好的性能保证,但它非常适合网络编程。Go是谷歌支持的一种正在开发的新语言。它专注于网络服务。但是这个相对于PHP(更像C语言)还是有些不足的,它的执行速度快,但是社区比较有限。Scala是一种流行的内存(Java兼容)语言,似乎也越来越受欢迎。它比PHP的设计更优雅,但除此之外,它似乎没有更多的东西。另外,我认为分析足以做出选择,但你有更多的选择要考虑,但最后我的选择是考虑PHP。需要根据自己的需要选择编程语言有了上面的比较,为什么要用PHP呢?上面我提到了PHP中的一些糟糕的设计,其中一些是我经常遇到的,比如在“查找类型函数”中,needle和haystack这些函数的顺序不一致,在没有代码补全的环境下,我还是陷入了坑。如果您正在构建一个不需要与其他系统交互的全新Web项目,并且您是唯一一个从事该项目的人,那么您想要尝试其他语言,例如Python。但是,您需要知道的是,即使是这样的项目,您也有很多理由选择PHP。任何现代语言都可以让您构建网络应用程序。每一种语言都有它的缺点,比如PHP,这就需要你清楚地了解它的缺点,然后才能决定是否在你的项目中使用它。但对我来说,我仍然选择PHP来构建我的Web项目。PHP的开发效率真的不是一般的高。
