setono / doctrine-object-manager-trait
A very simple library that offers an object manager trait to get the object manager for a given class
Installs: 118 840
Dependents: 14
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=8.1
- doctrine/orm: ^2.8
- doctrine/persistence: ^1.3 || ^2.5 || ^3.1
- webmozart/assert: ^1.11
Requires (Dev)
- infection/infection: ^0.27
- phpspec/prophecy-phpunit: ^2.2
- phpunit/phpunit: ^9.6
- psalm/plugin-phpunit: ^0.18
- setono/code-quality-pack: ^2.7
This package is auto-updated.
Last update: 2024-04-16 09:33:09 UTC
README
If you are like and me and usually don't inject entity managers directly, but inject the manager registry instead then this little library will come in handy.
Installation
$ composer require setono/doctrine-object-manager-trait
Usage
<?php use Doctrine\Persistence\ManagerRegistry; use Setono\DoctrineObjectManagerTrait\ORM\ORMManagerTrait; final class YourClass { use ORMManagerTrait; public function __construct(ManagerRegistry $managerRegistry) { $this->managerRegistry = $managerRegistry; } public function someMethod(): void { /** * $entity is an entity managed by Doctrine or a class-string representing an entity managed by Doctrine */ $entity = ; /** * Because we used the ORMManagerTrait above the getManager method will return an EntityManagerInterface * * @var \Doctrine\ORM\EntityManagerInterface $manager */ $manager = $this->getManager($entity); $manager->persist($entity); $manager->flush(); } }