Refactor LoadClassMetadataEventArgs to ensure it contains an EntityManager
This commit is contained in:
parent
d29cc3660f
commit
08be905fc3
@ -20,6 +20,8 @@
|
|||||||
namespace Doctrine\ORM\Event;
|
namespace Doctrine\ORM\Event;
|
||||||
|
|
||||||
use Doctrine\Common\Persistence\Event\LoadClassMetadataEventArgs as BaseLoadClassMetadataEventArgs;
|
use Doctrine\Common\Persistence\Event\LoadClassMetadataEventArgs as BaseLoadClassMetadataEventArgs;
|
||||||
|
use Doctrine\ORM\Mapping\ClassMetadata;
|
||||||
|
use Doctrine\ORM\EntityManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class that holds event arguments for a loadMetadata event.
|
* Class that holds event arguments for a loadMetadata event.
|
||||||
@ -29,6 +31,22 @@ use Doctrine\Common\Persistence\Event\LoadClassMetadataEventArgs as BaseLoadClas
|
|||||||
*/
|
*/
|
||||||
class LoadClassMetadataEventArgs extends BaseLoadClassMetadataEventArgs
|
class LoadClassMetadataEventArgs extends BaseLoadClassMetadataEventArgs
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* @param ClassMetadata $classMetadata
|
||||||
|
* @param EntityManager $entityManager
|
||||||
|
*/
|
||||||
|
function __construct(ClassMetadata $classMetadata, EntityManager $entityManager)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
We use our own constructor here to enforce type-hinting requirements,
|
||||||
|
since both inputs are specialized subclasses compared to what the super-
|
||||||
|
class is willing to accept.
|
||||||
|
|
||||||
|
In particular, we want to have EntityManager rather than ObjectManager.
|
||||||
|
*/
|
||||||
|
parent::__construct($classMetadata, $entityManager);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve associated EntityManager.
|
* Retrieve associated EntityManager.
|
||||||
*
|
*
|
||||||
@ -36,6 +54,18 @@ class LoadClassMetadataEventArgs extends BaseLoadClassMetadataEventArgs
|
|||||||
*/
|
*/
|
||||||
public function getEntityManager()
|
public function getEntityManager()
|
||||||
{
|
{
|
||||||
return $this->getObjectManager();
|
$em = $this->getObjectManager();
|
||||||
|
assert($em instanceof EntityManager);
|
||||||
|
return $em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves the associated ClassMetadata.
|
||||||
|
*
|
||||||
|
* @return \Doctrine\ORM\Mapping\ClassMetadata
|
||||||
|
*/
|
||||||
|
public function getClassMetadata()
|
||||||
|
{
|
||||||
|
return parent::getClassMetadata();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user