2

坦率地说,我对面向对象编程很陌生。我更熟悉诸如 C 之类的过程代码。

我开始设计一个以php为底层框架的网站。最初,我坚持采用程序化风格设计。这很快就变得相当麻烦。不用说,我想使用面向对象的方法。我看到了很多这样做的机会。

特别是在访问数据库方面 - 在这种情况下是 MySQL。

现在,我正在决定如何设计一个数据库类。显然,它将通过 PHP 的 PDO 合并一个连接。但我被困在课堂上除此之外的内容上。它显然可以包含其他方法,但到什么程度?例如,我是否还应该包含 MySQL 查询、插入、删除等功能?这些是我需要定期调用的常用函数,所以我不应该将它们全部包含在同一个类中吗?否则,如果我需要创建四个或更多不同的类,使用类似乎几乎没有意义?

哪位有经验的,请帮忙!谢谢!

4

1 回答 1

1

我喜欢编写自己的简单包装类的想法。如果在将来的某个时候您想要切换到不同的数据库库,那么您所要做的就是更改包装类中的代码。

在我工作的地方,我们为 php mysql 函数编写了一个包装类。我们有生产和测试服务器,主要的 mysql 服务器位于生产中,另外还有带有复制的服务器。我们的包装器确定连接到何处以提取数据 - 在某些情况下它连接到复制器仅用于选择。我们可能想要连接的每个数据库的凭据都在包装器中定义,从而简化了使用。类方法是执行 sql,获取一行或所有行并转储到数组中,转义数据,返回最后一个 id 等。还有一种方法可以为每个 SQL 语句附加一些有用信息的注释(如执行查询的文件)以方便调试。

将数据放入数组的示例:

$db = MysqlWrapper('db_name');
$data = $db->fetchAll($query);

稍后在相同的代码中,我们可以使用相同的实例发出更新或插入。

$db->execute($query);
于 2012-09-16T07:05:26.747 回答