PHP OOP设计:DB主动连接

PHP OOP Design: DB actively conncted

在数据库抽象层的OOP设计中,为使用它的原始DB对象创建包装对象是否合适? 要提供所有用户,请在自身内部进行传递并创建一个活动连接,以便其他对象(如CRUD)可以继承该对象并已具有打开的连接?

<-编辑->

一些背景:我想在这里构建的是db-logic和business-logic之间的良好隔离
所以我想创建一个表CRUD对象,以被其他业务逻辑对象继承
但是,当我想到与数据库的连接将如何转移时,就会出现问题
在那些对象之间。 感觉不对,只是将其作为参数传递

1
2
class TableCrud(AbstractDb $db) {...}
class BusinessObject(TableCrud $tc) { ... }

还有另一种感觉不太合适的方法是在其中包含一个包含DB用户凭据的对象,该对象打开连接并让TableCrud继承它。

我确定我在这里在对象机制之间缺少一些东西。


当我编写数据库模型时,通常如下所示:

Model.php:

1
2
3
include('connect.php');

class Model{}...

connect.php:

1
2
3
4
include('Database.php');
include('dblogin.db');

$db = new Database( $user, ...);

Database.php:

1
class Database{}

dblogin.db:

1
2
$user = user;
...etc...

tl;dr:是的,这就是您可以在DAL之上添加抽象层的方式。


哇,在那里减速。 一点点的标点符号会很有帮助。

对于任何不容易理解的内容,我都没有附加一层抽象层的问题。 只需确保有必要,这将使事情更容易理解,而不是相反。 有时,如果您不得不问,这已经意味着您在控制问题上处于边缘状态。