关于我正在从事的这个项目的最佳实践和性能,我有几个问题。请原谅我提出了一个巨大的问题。
我目前正在使用 PHP 和 MySql 构建一个基于文本的游戏,到目前为止核心文件中约有 2,500 行。目前,这是一个完全模块化的函数库。一些用于数据访问,一些用于数据操作,等等。
我的第一个问题是:一个类 ItemManager 包含几十个专门用于在数据库中添加、更新和删除游戏项目的方法。这些方法的唯一共同点是它们与数据库交互。目前,构造函数要求一个 mysqli 对象,然后在它的所有函数中使用它。但是,一旦我将 MongoDB 添加到项目中,其中一些功能可能会与不同的数据库进行交互。
将所有这些功能简单地设为静态是否可以接受或更可取?当只有一个对象时,我认为没有理由实例化对象,也不需要它来维护类成员。那么,我应该使用静态方法吗?为什么?
第二个问题:有人可以帮助我了解在 PHP BESIDES 模块化中使用类的好处(因为我可以使用函数文件实现相同的效果)?来自 Java 背景,我认识到 OOP 在持久环境中的好处,因为对象在应用程序的整个生命周期中维护数据和状态。但是,使用 PHP,脚本的生命周期只有几分之一秒,并且所有状态信息都存储在数据库中。几乎所有的函数都只是操作数据库,那么目的是什么?当我只能调用函数时,实例化对象不是没有意义吗?我可以只做包含分类数据操作类的完全静态类而不实例化类的对象吗?我应该在函数文件上使用类的原因是什么?不是基本一样吗?完全静态的函数可以接受吗?
感谢您抽出宝贵时间,我不知道如何将这个问题缩减为更少的文字,所以我很抱歉。