面向对象的PHP慢吗?

2022-08-30 21:25:22

我曾经使用过程式的PHP。后来,我曾经创建过一些类。后来,我学习了Zend框架,并开始以OOP风格编程。现在我的程序基于我自己的框架(带有cms的元素,但没有框架中的任何设计),它是在Zend框架之上构建的。

现在它由许多类组成。但是我编程的越多,恐怕就越多。我担心我的程序会因为它们而变慢,我害怕添加每个类,这可以帮助我开发,但可以减慢应用程序的速度。

我所知道的是,包含大量文件会减慢应用程序的速度(使用eAccelerator +在一个文件中收集所有代码可以使应用程序加速20倍!),但我不知道创建新类和对象本身是否会减慢PHP的速度。

有没有人有任何关于它的信息?


答案 1

这让我很烦恼。看。。。过程代码并不总是意大利面条代码,但OOP粉丝总是认为它是。我已经用PHP编写了几个基于过程的Web应用程序以及IRC服务守护进程。令人惊讶的是,它似乎优于大多数其他产品,编辑它非常容易。我的一个通常做OOP的朋友看了一下,说“没有代码有权这么干净”

相反,我写了我自己的PHP框架(出于无聊),它是以纯粹的OOP方式完成的。

一个好的程序员可以编写出色的过程代码,而无需开销类带来的开销。一个使用OOP的糟糕的程序员总是会写出蹩脚的OOP代码,这会减慢速度。

没有一个正确的答案对PHP更好,而是哪个对确切的场景更好。


答案 2

这是一篇讨论这个问题的好文章。我也看到过一些轶事基准,这将使OOP PHP开销达到10-15% 个人我认为OOP是更好的选择,因为最终它可能表现更好,因为它可能被更好地设计和思考。过程代码往往很混乱,难以维护。所以最后 - 它必须是你的应用程序的性能差异与维护,扩展和简单地理解的能力有多重要。


推荐