docteurklein/ repository-service-bundle
一个symfony扩展包,帮助您自动注册doctrine ORM仓库作为服务
1.0.0
2016-09-08 10:05 UTC
Requires
- php: >=5.6
- symfony/dependency-injection: ^2.0|^3.0
- symfony/http-kernel: ^2.0|^3.0
Requires (Dev)
- ext-pdo_sqlite: *
- doctrine/doctrine-bundle: ^1.6
- doctrine/orm: ^2.5
This package is auto-updated.
Last update: 2024-08-29 03:31:34 UTC
README
是什么?
一个symfony扩展包,简化了将doctrine ORM仓库作为服务创建的过程。
它将为默认实体管理器中注册的每个实体创建一个服务。
如果您为服务提供了一个 repository
标签,它将自动创建一个别名,并配置doctrine使其成为关联实体(通过 for
属性指定)的定制仓库类。
如何?
安装
composer require docteurklein/repository-service-bundle
注册扩展包
public function registerBundles() { $bundles = [ new \DocteurKlein\RepositoryServiceBundle, // … ]; return $bundles; }
示例
注意:以下示例使用JmsDiExtraBundle简化代码。
给定一个实体
namespace Model; /** @ORM\Entity */ class Product { /** @ORM\Id */ private $id; }
以及以下服务
namespace Repository; /** * @Service("products") * @Tag("repository", attributes={"for"="Model\Product"}) */ final class Products extends EntityRepository { }
那么DIC包含一个名为 repo.model_product
的工厂服务用于仓库(使用 ManagerRegistry::getRepository()
)。
它还包含一个名为 products
的别名,指向 repo.model_product
服务。
定制仓库类将自动配置为指向 Repository\\Products
。