我目前正在学习使用PHP中的OOP进行编码,并经常遇到数据库类和抽象层.我将CMS编码作为一项重大挑战,我开始编写数据库类而不考虑它太多.
我实际上倾向于使用MySQLi(我觉得按原样使用它很好),而不是创建一个类来处理CRUD操作,所以我真的需要一个类来处理所有这些东西吗?
如果没有,那么连接数据库的最佳方式是什么,只需在我的应用程序开始时进行并传递连接?或者,编写一个我缺少的数据库类真的有很大的好处吗?
我认为错误处理将是一个这样的好处,但如果我让我的课程尽可能接近MySQLi,那么这是否足够理由继续上课?
主要好处是,如果您可以获取所有代码来完成数据库对象.您可以在将来轻松更改数据库实施.你说你正在学习mysqli,但是说你改为PDO的一半,你必须重构 - 所有东西 - .
使用自定义数据库对象,您可以简单地更改集成,而不会影响其余代码.例如,您的objects-> connect()函数仍然可以像现在一样完全调用,但底层代码会改变,因为它都在您的自定义类中,您所做的更改是最小的.
这只是众多好处之一.与数据库对象接口以运行查询和存储结果的自定义类很常见(MVC的模型部分 - 通常扩展通常称为RecordSet的公共基础对象或具有运行select/update/delete的函数的类似程序) /等等).同样,您可以轻松地将实现从一种方法更改为另一种方法.
我所描述的是一般的面向对象编程的一个非常普遍的优点.请参阅您的常识的答案以获得另一个好处.