smoke / interface-associations
0.0.2
2024-07-13 10:33 UTC
Requires
- php: ^8.2
- doctrine/doctrine-bundle: ^2.12
- doctrine/orm: ^3.2
- symfony/dependency-injection: ^7.1
- symfony/http-kernel: ^7.1
This package is auto-updated.
Last update: 2024-09-16 08:11:47 UTC
README
Symfony7与Doctrine ORM的Bundle
接口关联Bundle提供了一种用接口替换ORM关系并在运行时将它们映射到具体类的方法。这使抽象组件的开发成为可能。
安装
运行 composer req snoke/interface-associations
功能
该Bundle允许配置重映射。您可以指定哪些类或接口应该由其他类或接口替换,无论是全局的还是针对特定类和属性的。
配置
编辑 config/packages/snoke_interface_associations.yaml
如下
snoke_interface_associations: remap: - source: 'App\Interface\EntityInterface' target: 'App\Entity\User' class: 'App\Entity\AuthToken' field: 'user'
-
source: 要重映射的源类或接口。
-
target: 要重映射到的目标类。
-
class (可选): 应用重映射的类。如果没有指定,重映射是全局的。
-
property (可选): 类内应用重映射的属性。如果没有指定,重映射应用于类的所有属性。
这样,您可以生成具有接口关系的代码
#[ORM\ManyToOne(inversedBy: 'accessTokens')] private EntityInterface $user;