PHP 框架开销 [已关闭]

2022-08-31 00:10:00

那里有大量的PHP框架;有些相当不错,有些看起来很臃肿和不必要的。在观看了 Rasmus Lerdorf 在 Digg 上关于 PHP 性能的演示之后,我更关心的是我选择用来构建应用程序的框架的性能。

据我所知,两个最流行的框架是CodeIgniter和CakePHP。据我所知,CakePHP是一个可怕的资源猪。CodeIgniter呢?我听说Zend Framework也不是那么苗条。

还有其他(性能更高)的框架我应该感兴趣吗?干脆不使用框架会更好吗?在选择 PHP 框架时,我应该考虑哪些因素?


答案 1

使用框架或不使用框架意味着您正在做出以下选择:

  1. 负载下的默认应用程序性能

  2. 开发速度/稳定性

如果您决定不使用框架,您仍然需要执行框架会执行的操作。你只是在用原始的PHP自己编码它们,或者开发自己的框架,它可以保持轻量级,因为它只需要做你想要它做的事情,而不是世界想要它做的事情。您将获得更好的性能,但您将花费更多时间来开发和调试框架自动为您处理的代码。

框架带给您的是开发时间的速度。您不必写出冗长的复杂SQL查询,也不必调试其他人的冗长复杂的SQL查询。您只需要创建一个表并实例化一个模型。您不需要决定要从哪里转义 SQL 参数,因为框架定义了这种情况发生的位置。你不需要在业务逻辑与表示逻辑的走向上陷入巨大的政治斗争,因为框架定义了这一点。框架消除了团队中系统开发人员的需求,或者使您不必考虑/浪费时间进行系统开发。您可以更快地对应用程序进行编码,并更快地获得可衡量的可见结果。

这是另一种思考方式。PHP框架比PHP慢,但PHP本身比C慢。为什么不直接用C语言编写应用程序呢?

这里没有正确的答案,这是软件工程/开发问题之一,这是您当前情况要求的问题。如今,该行业的默认选择是使用框架,因为如果您不这样做,您的竞争对手将发布一个PHP处理速度比您慢的应用程序,但三个月前上市。

最后,从那次谈话中要考虑的最后一件事。Rasmus说,大多数时候,应用程序的感知性能都在前端。Javascript代码以及浏览器如何将它发出的请求缓存回您的服务器。PHP是一种可怕的,可怕的语言,很少成为瓶颈。当它是瓶颈时,您通常可以进行一些调整(选择代码缓存,重点重构),以消除性能瓶颈。


答案 2

您可能希望查看轻量级框架类别。有无脂肪doophp柠檬水等,它们重量轻,但功率并不比你想象的要小。不要依赖已发布的基准测试。相反,根据你自己的目标进行基准测试。


推荐