conserto / pomm-model-manager
Postgresql 对象模型管理器
3.4.0
2024-04-10 09:04 UTC
Requires
- php: >=8.1
- ext-pgsql: *
- psr/log: ^2.0 || ^3.0
Requires (Dev)
- atoum/atoum: ^4.0
- conserto/pomm-foundation: ^3.2
- phpstan/phpstan: ^1.8
Suggests
- pomm-project/cli: dev-main
- dev-main
- 3.4.0
- 3.3.6
- 3.3.5
- 3.3.4
- 3.3.3
- 3.3.2
- 3.3.1
- 3.3.0
- 3.2.0
- 3.1.0
- 3.0.x-dev
- 3.0.0
- 2.0.x-dev
- 2.0.2
- 2.0.1
- 2.0.0
- 2.0.0-rc.3
- 2.0.0-rc.2
- 2.0.0-rc.1
- 2.0.0-beta.2
- 2.0-beta-1
- dev-feat/cache_true_entity_props_only
- dev-update_where
- dev-fix/merge
- dev-merge/3.0
- dev-throws_annotations
- dev-report_forked_fixes_and_improvements
- dev-develop
This package is auto-updated.
Last update: 2024-09-15 16:45:19 UTC
README
这是一个 ModelManager 的分支,ModelManager 是 Pomm 项目 的一个包。它使得开发者能够通过模型类在数据库上管理实体。它不是一个 ORM,它赋予开发者使用所有 PostgreSQL SQL 和几乎所有的类型的原生查询的能力。这使得模型层在保持精简的同时达到高性能。
本包将提供
- 包含所有常用内置查询(CRUD、count 和 exists)的模型类。
- 灵活的实体
- 嵌入实体转换器
- 将模型计算分组在事务中的模型层。
模型层还提供了利用 PostgreSQL 精美事务设置的方法(约束延迟、隔离级别、读写访问模式等)。
安装
Pomm 组件可以在 packagist 上通过 composer 使用。要安装和使用 Pomm 的模型管理器,请在您的 composer.json
文件中添加一行 require,内容为 "conserto/pomm-model-manager"
。建议同时安装 CLI 包。
为了在启动时加载模型管理器的池器,可以在 Pomm 的配置中使用提供的 SessionBuilder
。
$pomm = new Pomm([ 'project_name' => [ 'dsn' => …, 'class:session_builder' => '\PommProject\ModelManager\SessionBuilder', ], … ]);
最好为您的项目提供专门的会话构建器。
文档
模型管理器的文档可以在 网上 或直接在 documentation
文件夹中找到。
测试
本包使用 Atoum 作为单元测试框架。测试位于 sources/tests
。此包还提供了一个 ModelSessionAtoum
类,以便测试类可以直接获取带有 model
和 model layer
池器的会话。