PHP - mySQL 数据库类

标签 php mysql oop class

我已经了解了 C++ 中的 OOP 的强大功能,因此我开始阅读 PHP 的 OOP。这让我想要改造我的一个网站,以便它可以使用 OOP PHP 来清理它现在所处的困惑局面。我已经了解 OOP 的基本概念,但在应用它方面我有点困难。

到目前为止,我见过的所有使用 OOP PHP 的网站都有某种 mySQL DB 类。我绝对可以看到它的好处(当您想访问数据库中的某些内容时,代码更干净),但我不完全确定如何设置我的。这是我想知道的:

  • 我应该做的第一件事是什么 从
    构建此类时 地面? (这个类应该如何 设置?这背后的想法是什么 结构?它是什么样子的 什么时候这样设置的?)
  • 我的方法中应该包含哪些类型的方法 DB类? (什么样的功能 我的 DB 类(class)应该提供吗? SQL 插入? SQL 更新?普通的 ole' SQL 查询?这些数据应该是什么 方法返回?)
  • 如何确定何时需要添加 类的新方法?
  • 我应该如何在其他代码中使用这些方法?

谢谢。

最佳答案

如果您指的是连接到数据库、准备和运行查询的类,请使用 PDO (尝试“Writing MySQL Scripts with PHP and PDO”获取教程)。如果你的意思是 Data Access Object (DAO),它是一个类(或多个类),用作 bridge between the database records和您的应用程序对象,请尝试 data mapperactive record模式。请注意,事件记录模式有点旧,并且不再受到某些人的青睐,因此有关 PHP 中事件记录的文章往往比较旧并且有点过时。

无论您应用什么模式,您的类应该提供的四个基本操作是 create, read, update and delete (增删改查)。创建和读取返回应用程序对象,更新和删除可以返回指示成功或失败的值。

使用类相当简单:每当您需要对象时,请使用 create 或 read 而不是对象构造函数。何时使用更新或删除取决于您的业务逻辑。例如,每当您使用完一个对象时(即当该对象被销毁时),您可能需要进行更新。更棘手的是对象或函数如何获取对 DAO 的引用。阅读 Martin Fowler 关于 dependency injection 的文章一些不同的方法。

进一步阅读:

关于PHP - mySQL 数据库类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5059575/

相关文章:

javascript - PHP根据php结果显示html字段

MySQL 在 Mac 上无法启动,即使它是使用 Brew 安装的

mysql - 当绑定(bind)参数为空时,视为 "select all"

php - 如何在php中突出显示当前菜单项

php - Laravel Radius 身份验证

php - PHP 中基于字符串的工厂模式 (OOP)

JavaScript 可链接方法困境

C++ 对象列表不能正常工作

php - 将多个 SQL 数据库导出到一个 CSV

mysql - 帮忙写sql查询