abstract class PersistentObject implements ObjectManagerAware (View source)

PersistentObject base class that implements getter/setter methods for all mapped fields and associations by overriding __call.

This class is a forward compatible implementation of the PersistentObject trait.

Limitations:

  1. All persistent objects have to be associated with a single ObjectManager, multiple ObjectManagers are not supported. You can set the ObjectManager with PersistentObject#setObjectManager().
  2. Setters and getters only work if a ClassMetadata instance was injected into the PersistentObject. This is either done on postLoad of an object or by accessing the global object manager.
  3. There are no hooks for setters/getters. Just implement the method yourself instead of relying on __call().
  4. Slower than handcoded implementations: An average of 7 method calls per access to a field and 11 for an association.
  5. Only the inverse side associations get autoset on the owning side as well. Setting objects on the owning side will not set the inverse side associations.

Methods

static void
setObjectManager(ObjectManager $objectManager = null)

Sets the object manager responsible for all persistent object base classes.

static ObjectManager|null
getObjectManager()

No description

void
injectObjectManager(ObjectManager $objectManager, ClassMetadata $classMetadata)

Injects the Doctrine Object Manager.

mixed
__call(string $method, array $args)

Magic methods.

Details

static void setObjectManager(ObjectManager $objectManager = null)

Sets the object manager responsible for all persistent object base classes.

Parameters

ObjectManager $objectManager

Return Value

void

static ObjectManager|null getObjectManager()

Return Value

ObjectManager|null

void injectObjectManager(ObjectManager $objectManager, ClassMetadata $classMetadata)

Injects the Doctrine Object Manager.

Parameters

ObjectManager $objectManager
ClassMetadata $classMetadata

Return Value

void

Exceptions

RuntimeException

mixed __call(string $method, array $args)

Magic methods.

Parameters

string $method
array $args

Return Value

mixed

Exceptions

BadMethodCallException