声明"PHP不能扩展(好)"背后的理由是什么?

PhD*_*PhD 10 php scalability

我最近选择了PHP,它看起来很简洁,可以实现非常快速的Web应用程序开发(可能比我个人最喜欢的更快 - Java :)

现在,我不是PHP专家 - 无论是语言还是内部/细节.但是我的很多同行已经声称PHP应用程序不能很好地扩展 - 这是我无法为自己弄清楚的事实,因此也是问题.

我刚刚学习了PHP的程序性风格,我对非可伸缩性的唯一猜测是程序性与OO语言的可扩展性(C与C++/Java).我同意并且我可以看到这对于极其复杂的Web应用程序来说将是一个障碍.但是,我知道OO-ness进入PHP世界并且不认为这是一个很大的障碍(如果我的假设不正确,请纠正我).

除此之外,我不明白具有大量用户的Web应用程序会出现什么样的可伸缩性问题(为了讨论,我们假设一个Restful设计 - 没有会话 - 因为我知道这会阻碍可伸缩性).如果可能的话,我更有兴趣了解这种主张的"客观"原因.主观性很好,但我不是在这里开始讨论PHP与其他一切.我只想知道我必须记住这种语言的潜在局限性,如果/当Web应用程序每天(或小时)有1000个用户时,我不应该在后面咬我.

ken*_*ken 5

我想不出一种具有可扩展性限制的语言.语言的可扩展性限制如下:

语言X不能用于编写需要超过1000行代码的程序.

这听起来很荒谬,而且确实如此.

PHP应用程序无法很好地扩展的耻辱来自于许多缺乏经验的程序员选择PHP作为其Web应用程序的事实.这是因为PHP是一种易于学习的语言,与Apache集成得非常好,并且几乎在世界上的每个主机上都受支持.

没有经验的程序员在编写代码时经常会使用不好的做法.考虑到在整个网络中散布的这些不良做法,用无经验的程序员最喜欢的语言编写,很容易理解为什么有些人不喜欢PHP.

可能还有一些程序员对PHP的"比你更圣洁"的态度(再次,因为它的简单性).

当考虑页面缓存和最佳实践时,PHP与任何其他语言一样可以扩展.有很多很好用的PHP项目来证明这一点.

  • @Ken 这只是一个完全错误的答案。`语言X不能用于编写需要超过1000行代码的程序`听起来很荒谬,因为这根本不是可扩展性的意思。您无法想到可扩展性限制,因为您不知道它意味着什么。Python 和 PHP 都是表现出垂直扩展限制的语言,因为它们只能在单个本机线程上运行。我不确定水平缩放,但我可以想象 PHP 也没有那么好。 (3认同)