docteurklein/repository-service-bundle
A symfony bundle that eases creation of doctrine ORM repositories as services.
It will create a service for each registered entity in the default entity manager.
If you provide a repository tag for a service, it will automatically create an alias and configure doctrine to make it the custom repository class of the associated entity (specified by the for attribute).
composer require docteurklein/repository-service-bundle
public function registerBundles()
{
$bundles = [
new \DocteurKlein\RepositoryServiceBundle,
// …
];
return $bundles;
}
Note: The following examples use JmsDiExtraBundle to simplify code.
Given an entity:
namespace Model;
/** @ORM\Entity */
class Product
{
/** @ORM\Id */
private $id;
}
And the following service:
namespace Repository;
/**
* @Service("products")
* @Tag("repository", attributes={"for"="Model\Product"})
*/
final class Products extends EntityRepository
{
}
Then the DIC contains a factory service named repo.model_product for the repository (using ManagerRegistry::getRepository()).
It also contains an alias named products pointing to the repo.model_product service.
The custom repository class is automatically configured to point to Repository\\Products.
How can I help you explore Laravel packages today?