readdle/fqorm

简单ORM

0.2.0 2022-05-09 16:08 UTC

This package is auto-updated.

Last update: 2024-09-09 20:47:51 UTC


README

非常简单的ORM层,基于数据映射模式。

一些关键设计原则

  • 有两种类型的类:映射器和实体
  • 实体包含数据;它们有属性,可能包含格式化方法、验证等。
  • 映射器可以读取和写入数据库中的实体
  • 有两个抽象类AbstractMapper和AbstractMapperId,可用于快速创建自己的映射器。
  • 可以为映射器创建任何方法,但通常我们使用savedeletefindByIDfindByWhere等。

不是规则

这些不是规则,但事情发生得非常简单

  • 每个实体都有自己的映射器
  • 每个映射器将实体映射到特定的数据库表
  • 实体的结构类似于特定的数据库表

如果你以不同的方式做事,现有的抽象类不会帮到你。

如何创建实体和映射器

请参阅 ExampleIdEntity.phpExampleIdMapper.php

  • 实体仅有一些属性
  • 映射器扩展AbstractMapperAbstractMapperID并重写方法mapperTableNamemapperEntityClass
  • 在另一个重写方法createFieldMapping中,您必须描述所有字段的映射
  • 对于AbstractMapper子类,您必须在createFieldMappingUnique中描述唯一(键)字段。类AbstractMapperID已经为id做了这件事。
  • 实现带有您特定实体类型的save、delete、find...方法。您可以使用父类中现有的无类型*方法。