joefallon / phpdatabase
本包包含简单易用的数据库访问层。
v7.0.0
2016-07-20 18:15 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- joefallon/kisstest: ^3.0
- joefallon/phpautoloader: ^2.0
README
由Joe Fallon编写
这是一个用于MySQL数据库访问的简单库。它具有以下功能:
- 完整的单元测试套件。
- 可以集成到任何现有项目中。
- 只需几分钟就能完全理解。
- 该库实现了数据映射设计模式(又称表网关)。
安装
使用Composer安装PhpDatabase是最简单的方法。创建以下composer.json
文件,然后运行php composer.phar install
命令来安装它。
{ "require": { "joefallon/phpdatabase": "*" } }
用法
有四个主要类用于表示数据库中所有关系:
AbstractTableGateway
AbstractJoinTableGateway
PdoFactory
Entities
实体是表示数据库中单行数据的类。所有实体都必须包含一个主键
字段,以及可选的创建时间
和更新时间
字段。
主键
- 这是行的主键。可以命名为任何名称。创建时间
- 这是行创建的日期和时间。可以命名为任何名称。更新时间
- 这是行最后更新的日期和时间。可以命名为任何名称。
向实体添加额外的数据字段。每个添加到实体的数据字段都应与特定表中的列一一对应。
抽象表网关
使用AbstractTableGateway
子类的实例来调解对数据库中表中所有访问。
每个子类必须实现抽象方法mapObjectToArray
和mapArrayToObject
。方法mapObjectToArray
用于将实体转换为关联数组。键的名称映射到数据库中的列名。方法mapArrayToObject
用于将从数据库中检索到的关联数组转换为对象。
此外,还提供了几个方法来帮助访问数据库。有四个主要方法用于提供数据库的基本CRUD(即创建、检索、更新、删除)访问。以下方法用于提供公共访问:
baseCreate($entity)
baseRetrieve($id)
baseUpdate($entity)
baseDelete($id)
抽象连接表网关
AbstractJoinTableGateway
类用于调解对连接表(即连接表)的访问。这些表用于表示多对多关系。
PDO工厂
PdoFactory
工厂类用于创建PHP PDO
对象。
用法
请参阅单元测试以获取如何使用此包的详细示例。