weew/container-doctrine-integration

使doctrine仓库在weew/container中可注入。

v1.0.1 2016-07-21 11:17 UTC

This package is not auto-updated.

Last update: 2024-09-10 21:52:41 UTC


README

Build Status Code Quality Test Coverage Version Licence

目录

安装

composer require weew/container-doctrine-integration

简介

由于doctrine仓库本身不易实例化,因此它们本身不可注入。要使其工作,您需要使用工厂、参数解析等。这正是本包所做的工作,它使doctrine仓库通过weew/container容器可注入。

约定

您必须遵循某些约定才能使doctrine仓库可注入。仓库加载器执行此类仓库名称到实体名称的转换:`Vendor\Package\Repositories\FooRepository` 应映射到此实体 `Vendor\Package\Entities\Foo`。

如果此名称匹配策略对您来说不够充分,您可以提供自己的 `IRepositoryNameParser` 接口实现。

用法

要使仓库可注入,只需创建一个 `IDoctrineRepositoriesLoader` 的新实例,传入一个 `IContainer` 实例和一个 `ObjectManager` 实例,并启用它。

$loader = new DoctrineRepositoriesLoader($container, $om);
$loader->enable();