PHP OOP - 需要数据库访问的类

时间:2013-08-15 08:47:03

标签: php oop dependency-injection dependencies

我开始编写一些可以跨项目重用的PHP类,但是有一个关于处理依赖项的快速问题。

我正在编写一个分页类,我想从mysql数据库中获取结果。现在显然这将依赖于Database对象/类。我有一个自定义编写的数据库类,我想使用,但后来我遇到了问题。我计划将db对象作为参数传递,但当然,因为它是我自己的db类 - 它将具有其他人不会拥有的自定义方法。

所以我的分页类可能会运行:

$db->run_query($sql);

显然,其他人可能有一个db类,而不是使用:

$db->query($sql);

处理这个问题的最佳方法是什么?我之前可以运行我的查询,但后来我为用户做了比我想做的更多的工作。如果我想让它成为单行命令,那么较小的可重用性是否是我必须要忍受的东西?

它与其他示例类似,因此我可能希望Page对象使用HTMLHelper,但页面类可以轻松重复使用。

目前更多的是针对个人项目,但是发布这些课程可能会在将来发生。

1 个答案:

答案 0 :(得分:0)

也许答案是:

What does it mean to "program to an interface"?

你可能不得不重新考虑你的观念。