关于面向对象编程是否良好的争论很多.但是,在Php中使用OOP会更慢.使用程序编程和更快的速度以及速度更慢的OOP是一个很好的交易(因为每次页面加载时都必须启动类,大型网站将开始变慢).
更重要的是,将东西包装在一个类中并使用静态函数是否合适?或者更好的是只有许多具有前缀ex:wp_function()的函数.
如果您担心在PHP中使用OO的原因是速度,请不要担心:PHP是一种缓慢的语言.如果你正在做一些处理器密集的东西,以便从使用对象到物质的速度损失,你根本不应该使用PHP.
关于静态函数,这是一个设计选择,但我错误的是避免完全由静态函数组成的类.它在前缀方面确实没有优势,并且使用构造只是因为它不是一个好主意.
是的,使用OOP几乎总是一个好主意.这是因为OOP是一种编码风格,大多数编码风格很容易通过语言进行传输.
人们不使用编码风格,因为他们使用某种语言.人们使用编码风格,因为编码风格提供了做他们认为理想的事情的好方法.因此,只要存在基本元素(继承,类属性等),编写该编码风格总是可行的.
不,使用程序功能来访问它们可能不是一个好主意.这是因为,您可能必须做这样的事情来维持状态.
function myFunc() { global $class; $class->doMethod(); } function myFunc2() { global $class; $class->doMethod2(); }
这是一个坏主意,因为它创造了大量的全球状态.
关于性能的相同论点是关于当天的Objective C和C++.这个问题的答案是利用可用内存和处理能力不断变大,越来越好.
是的,OO需要更多资源才能运行.但是,使用OO的好处超过了支持OO应用程序的硬件成本$$(这可能是微不足道的).
然而,关注软件性能是一件好事.然而,在程序与oo的引导下寻找开始的地方有点误导.您需要专注于编写有效的代码,无论是程序还是OO(两者都相关).
请记住,即使PHP可能不是最快的平台(例如,Java,它踢它的屁股)PHP用于为互联网上一些流量最大的网站提供动力:即Facebook.
如果您对PHP和OO有任何其他疑问,请查看Zend和Magento(基于Zend).Magento是一个非常耗费资源的平台,每个实例的内存使用量可高达36MB.然而,该平台本身能够处理数百万次点击.这是因为正确配置的服务器环境具有健康的硬件资源,使得使用OO的所有好处远远超过了服务器本身的成本.但在群集计算机的世界中,不使用可用的处理能力和内存(负责任)是 - 恕我直言 - 临床精神错乱.
在我看来,PHP开发人员不应该只尝试一个方向.(过程与面向对象)在某些情况下,您只需要一些全局函数,有时使用对象更有利.不要试图以某种方式强迫一切,灵活使用最适合每种情况的东西.
我强烈不同意Chacha102的回答.
这个问题的正确答案会填满几本书 - 更别提这里的20行文章了.
两种方法都有其优点和缺点.我建议任何想要认为自己都是优秀程序员的人在程序,非程序和面向对象编程方面拥有丰富的经验.以及SCRUM,级联和RAD等不同方法的经验.
关于PHP对OO与程序编码的适用性,当然语言的根源在后者中(但请注意Java和ASP都是混合而不是真正的OO语言).
Peronally,当我需要生成一些非常简单或者必须使其行为被定义和可预测的东西时,我倾向于编写过程代码.但是,在编写复杂代码时,行为在运行时会有很大差异,我发现OO在开发人员时间方面要高效得多 - 尽管设计基于一组有限的用例.
认为你应该总是编写过程代码,因为它比OO代码运行得更快:
1)不一定是真的2)完全忽略开发人员时间与硬件成本的相对成本
将东西包装在类中并使用静态函数会不会很好
鉴于命名空间现在可以在PHP中使用,这是一种非常混乱的方法来避免命名空间冲突,而不是我建议的.
C.