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.
- All persistent objects have to be associated with a single ObjectManager, multiple
ObjectManagers are not supported. You can set the ObjectManager with
- Setters and getters only work if a ClassMetadata instance was injected into the PersistentObject.
This is either done on
postLoadof an object or by accessing the global object manager.
- There are no hooks for setters/getters. Just implement the method yourself instead of relying on __call().
- Slower than handcoded implementations: An average of 7 method calls per access to a field and 11 for an association.
- 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.
at line 54
setObjectManager(ObjectManager|null $objectManager = null)
Sets the object manager responsible for all persistent object base classes.
at line 74
injectObjectManager(ObjectManager $objectManager, ClassMetadata $classMetadata)
Injects the Doctrine Object Manager.
at line 211
__call(string $method, mixed $args)