【问题标题】:PHP OO vs Procedure with AJAXPHP OOP 与 AJAX 过程
【发布时间】:2010-05-27 03:11:10
【问题描述】:

我目前有一个用于企业的 AJAX 重(几乎所有)Intranet webapp。它是高度模块化的(组件和模块 ala Joomla),有大量的文件夹和文件。大约 80-100 个不同的查看页面(每个页面都非常独特),并且在不久的将来可能会增加。

我基于围绕命令和屏幕的设计,客户端请求命令并发送所需的数据并接收通过javascript显示在屏幕上的数据。

也就是说,通常有两种类型的文件,一种是带有 html、javascript 的显示文件,以及一些用于模板的 php。还有一个带有单个 switch 语句的 php 后端文件,其中包含保存、更新和删除等操作以及其他功能。多个页面/屏幕可能使用相同的 php 后端。

最近,我一直在添加一个服务器端撤消功能,该功能需要我重用一些代码。所以,我借此机会尝试了 OOP,但我注意到有些函数非常简单,创建一个类,检索所有数据然后更新数据库上所有相关行对于一个简单的操作来说似乎有点过头了,因为速度非常关键.我还注意到整个文件中只有一个类。

那么,如果整个 php 是一个类呢?因此,在创建类和方法以及使用全局变量和函数之间。哪个更快?

【问题讨论】:

  • 你能发布一个示例课程吗?

标签: php ajax oop


【解决方案1】:

编写面向对象的 PHP 完全不会影响您的性能。如果您使用 Zend Optimizer 之类的扩展程序,它甚至可以运行得更快。

因此,确实没有理由不在 PHP 中使用更简洁、更易于维护的面向对象范例。

编写纯过程代码甚至可能导致性能下降,因为优化可能会更加困难,并且在如此混乱的环境中更可能出现占用执行时间的小细节。

【讨论】:

    【解决方案2】:

    这个问题被误导了。问题不在于速度,而在于代码组织。仅使用全局函数和变量以及其中的许多变量,将越来越难以避免命名冲突并保持一切井井有条。类帮助你打包和抽象事物。执行速度是次要问题,在大多数情况下不会显着提高,如果有的话。但随着时间的推移,开发速度会显着提高,因为您需要处理的冲突更少。

    【讨论】:

    • 我同意他们对事物进行打包和抽象,这样看起来确实更简单,但最后我注意到,我进行了 2-3 倍的 SQL 调用(通常在构造方法中)。 1.5 倍的代码。因此,目前最好的方法是混合使用类和静态方法
    • @vener 那么你没有正确使用 OOP。纯粹从代码角度来说,您可以做与程序上完全相同的事情,只需管理对象所需的开销(class { }$thisself->::、@987654326 @)。当然,它不应该增加你正在做的“实际工作”。 SQL 查询不会通过将它们包装在对象中而神奇地相乘。由于更好的可重用性,适当的 OOP 实际上应该会降低您的 LOC。
    猜你喜欢
    • 1970-01-01
    • 2011-05-06
    • 2011-11-19
    • 1970-01-01
    • 2010-10-29
    • 2011-09-16
    • 2015-10-23
    • 1970-01-01
    • 2019-02-16
    相关资源
    最近更新 更多