PHP的架构限制是什么?[已关闭]

2022-08-30 14:08:02

我正在读杰夫·阿特伍德(Jeff Atwood)的文章“PHP很糟糕,但这并不重要”。

在评论中,他写道:

也就是说,我绝对认为PHP开发人员了解PHP的架构限制并了解替代方案非常重要。

这些限制是什么,它们与其他脚本/弱类型语言相比如何?

此外,在需要避免限制的条件下,有哪些替代方案?


答案 1

我看到基本上有两个真正的限制:

PHP是一种完全同步的语言。这会影响哪些内容可以在PHP中轻松实现,哪些不能。例如,实现长轮询驱动的聊天应用程序并非易事,因为 PHP 需要每次聊天阻塞一个进程。我并不是说这是不可能的,你可以使用一些PHP守护进程库来绕过这个限制。我只是说这是其他语言(如JavaScript)更合适的情况之一(NodeJS)。

PHP很慢。请不要理解这是一种冒犯。事实上,PHP(由Zend实现)与其他脚本语言相比速度很慢。在构建网站时,这通常没有问题,但是您显然不能做某些事情:在PHP中实现光线跟踪器绝对是一个坏主意 - 而在JavaScript中您可以这样做。

但除此之外,我认为PHP是相当多用途的。你几乎可以用它来做任何事情 - 我做;)


答案 2

看看日期。这篇文章写于2008年。

这意味着,如果你看到PHP5.3的优势,你会发现很多东西,比如闭包和命名空间,这些都是以前在其他语言中出现的。其中一些已经影响了著名框架的架构,比如Symfony。

这个清单永远不会完整。


与此同时,我遇到了很多人,他们认为“弱类型”语言本身就是一个架构问题。

然后,有些人认为内联正则表达式语法在JavaScript中是好事,但其他人认为,“不同的语言”必须写在那里的字符串常量中,就像在PHP中一样。等。


推荐