conserto/pomm-model-manager

Postgresql 对象模型管理器

3.4.0 2024-04-10 09:04 UTC

README

Latest Stable Version CI Status Monthly Downloads License

这是一个 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 类,以便测试类可以直接获取带有 modelmodel layer 池器的会话。