php - 什么时候应该使用类,什么时候不应该使用

在我看来,对于 PHP 程序员来说,除了他的经验之外,最重要的是他的工具包。也就是说,他/她自古以来就从里到外、前后编写的代码。

对我来说,在这种情况下,OOP 的优势显而易见。拥有一个你知道的类将始终通过简单的方法实现你想要的,这对你自己和团队成员来说都容易得多,然后只需调用大量静态函数即可。虽然您可能会争辩说 satic 函数库包含相同的目的,但在我看来,类更容易阅读和理解。例如,在我的自定义会话类中,程序员可以查看我的代码并查看,

$my_session = new session();

$my_session->start();

if ( ($session_errno = $my_session->error()) !== FALSE)

{

//DO SOMETHING BECAUSE OF A SESSION ERROR

}

并且很容易理解这个应用程序中的会话是通过我们的自定义会话类处理的,并且应该返回某种类型的成功/失败,而无需检查库/类。与此同时,像这样的电话,

session_start();

if (session_error())

{

//DO SOMETHING BECAUSE OF A SESSION ERROR

}

没有明确说明session_start()它不是默认的 PHP 会话处理程序,但它会调用定义的函数,session_set_save_handler()这些函数包含在一些大型全局包含列表中,这些列表可能不容易在大型应用程序中找到。还不清楚 session_error() 是一个返回自定义会话处理程序设置的错误的函数,而不是一个可能主动查找已生成会话上的会话问题并且完全独立于 PHP 的默认会话的函数。

这不是一个很好的例子,但我认为这是一个很好的例子。我没有详细说明保护数据不受整个应用程序影响的好处、继承以及使 OOP 有用的所有其他方面。

但很快,想象一个访问应用程序的 MYSQL 数据库的类。大量时间用于设计类以使用准备好的语句、记录错误并根据需要为程序员提供适当的逻辑。团队可以通过简单地调用类的公共“数据访问”函数来减少对数据库访问问题的担忧,而无需过多担心致命错误、错误逻辑或危险的 SQL(注入等)。

这一切都可以使用您建议的静态函数来完成,但是该静态库中的每个函数都公开给整个应用程序,而只有公共和“安全”函数公开给使用数据库访问对象的应用程序。程序员不能意外调用一个危险的函数,如果没有被其他函数正确初始化可能会导致重大问题,程序员也不能像使用大量静态函数和全局变量那样故意抑制错误或受类保护的其他数据。

虽然可以在没有任何对象的情况下设计一个好的应用程序,但一个好的程序员应该在适当的时候享受对象提供的可用性、可扩展性和保护。

我将带着我的最后一个比喻离开。对象就像工厂内的专用机器和工具。虽然工厂本身在其装配线上拥有许多这些独特的工具,从简单的弯曲制动器到 CNC 机器和自动化机器人,它们只是为帮助更多的工人和管理人员而存在的团队的一小部分,我们的静态功能,完成制造更好的汽车、卡车或自行车的工作。

2025-09-30 20:03:34
触摸互动类slg手游推荐2025
药剂制作指南——转载