umanit-pomm / model-manager
Postgresql 对象模型管理器
2.2.0
2023-01-13 14:55 UTC
Requires
- php: >=5.4.4
- ext-pgsql: *
- psr/log: ~1.0
- umanit-pomm/foundation: 2.2.*@dev
Requires (Dev)
- atoum/atoum: dev-master
Suggests
- umanit-pomm/cli: dev-master
This package is auto-updated.
Last update: 2024-09-13 14:26:56 UTC
README
ModelManager 是一个 Pomm 项目 包。它使开发者能够通过模型类管理数据库上的实体。 它不是一个 ORM,它授予开发者使用所有 PostgreSQL 的 SQL 和几乎所有其类型的权限。这使得模型层在保持轻量化的同时满足性能需求。
本包将提供以下功能
- 具有所有常用内置查询(CRUD、count 和 exists)的模型类。
- 灵活的实体
- 嵌入式实体转换器
- 模型层以在事务中分组模型计算。
模型层还提供了一些方法,可以利用 PostgreSQL 精美的事务设置(约束延迟、隔离级别、读写访问模式等)。
安装
Pomm 组件可通过 packagist 使用 composer 获取。要安装和使用 Pomm 的模型管理器,请将 "pomm-project/model-manager"
添加到您的 composer.json
文件中的 require 行。建议同时安装 CLI 包。
为了在启动时加载模型管理器的池,您可以使用 Pomm 配置中提供的 SessionBuilder
。
$pomm = new Pomm([ 'project_name' => [ 'dsn' => …, 'class:session_builder' => '\PommProject\ModelManager\SessionBuilder', ], … ]);
最好为您的项目提供专用的会话构建器。
文档
模型管理器的文档可在 线上的网址 或直接在 documentation
文件夹中查看。
测试
此包使用 Atoum 作为单元测试框架。测试位于 sources/tests
。此包还提供了一个 ModelSessionAtoum
类,以便测试类可以直接获取带有 model
和 model layer
池的会话。