gordinskiy / doctrine-fluent-mappin-bundle
来自 laravel-doctrine 的 Fluent Mapping Driver 的 Symfony Bundle
Requires
- laravel-doctrine/fluent: ^1.3
- symfony/framework-bundle: ^6.0
Requires (Dev)
- php: ^8.1
- phpunit/phpunit: ^10.1
- symfony/phpunit-bridge: ^6.2
This package is auto-updated.
Last update: 2024-09-18 00:28:20 UTC
README
为 laravel-doctrine/fluent 提供替代 PHP Mapping Driver 的 Doctrine ORM 的 Symfony Bundle。
作为 doctrine/DoctrineBundle 的扩展运行。
工作原理
Doctrine 提供了实现自定义映射驱动的能力(文档)。
Fluent Mapping Driver - 来自 laravel-doctrine/orm 的作者实现的 Doctrine 映射驱动(文档)。
允许您以面向对象的方式管理映射,将实体与映射配置分离,无需使用 XML 或 YAML 等配置文件。
尽管包名中包含供应商名称,但此包不包含对 Laravel 框架或其组件的任何依赖。
DoctrineBundle - 提供 Doctrine 项目与 Symfony 框架集成的 Symfony Bundle(文档)。
DoctrineFluentMappingBundle 配置 Fluent Mapping Driver 并将其注册为 DoctrineBundle 的默认映射驱动,通过替换 doctrine.orm.default_metadata_driver 的定义来实现。
安装
在您的终端中运行此命令
composer require gordinskiy/doctrine-fluent-mapping-bundle
如果您不使用 Symfony Flex,您必须手动在应用程序中启用此 Bundle
// config/bundles.php return [ ... Gordinskiy\DoctrineFluentMappingBundle\DoctrineFluentMappingBundle::class => ['all' => true], ];
配置
创建 config/packages/doctrine_fluent.yaml
文件并在其中列出您的实体映射
doctrine_fluent: mappings: - Infrastructure\Doctrine\Mappings\UserMapping - Infrastructure\Doctrine\Mappings\RoleMapping - Infrastructure\Doctrine\Mappings\AccountMapping
按目录列表配置
您还可以按目录列表配置映射
doctrine_fluent: mappings_paths: - src/Context/Infrastructure/Doctrine/Mappings - src/SomeAnotherContext/Infrastructure/Doctrine/Mappings - src/ActivityLog/Infrastructure/Doctrine/Mappings - src/OneMoreContext/Infrastructure/Doctrine/Mappings
您可以使用绝对路径或相对于项目根目录的路径。
这些目录中所有实现 Mapping 接口的所有类将被自动注册为映射。