wcatron/通用数据库框架

想相互连接的数据库框架之间共享的通用类。

0.1.2 2016-03-03 13:45 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:26:14 UTC


README

想相互连接的数据库框架之间共享的通用类。

入门

通用数据库不是数据库连接本身,而是作为各种数据库框架的起点。目前有两个

默认层次结构

任何框架都需要一个继承自 DB 类并处理数据库连接的数据库类。然后需要有一个处理特定对象相关任务(这些任务对于您的数据库类型是独特的)的默认对象类。例如,在 MongoDB(一个基于文档的数据库)中,默认对象类是 Document,使用该框架的所有类都将继承该类。对于 MySQL,默认对象类是 Row。这些类还应该将 $dbClass 静态变量设置为继承自 DB 的您的框架类。这允许后续进行依赖注入。从这一点开始如何使用框架取决于框架本身。

LinkedObject

如果设置正确,将有一些有用的类,如 LinkedObject,可以用来将一个框架/数据库的 DBObject 连接到另一个框架的 DBObject。MongoDB 和 MySQL 框架中有示例。

单例与依赖注入

可以通过使用 DB::getInstance() 来访问 DB 实例,这将访问 DB 框架的单例实例。然而,通用数据库内置了对依赖注入的支持。在一个 DBObject 类中,使用 static::getDBInstance() 来访问该类所使用的 DB 对象。这意味着您可以设置一个 TestDB 类,该类强制输出特定内容,然后调用您默认对象类的 setDBInstance() 函数(例如,Row::setDBInstance(TestDB::class))以注入依赖。这将设置一个单例,但它将是一个新的单例,可以是任何继承自 DB 的类。