interface ObjectManager (View source)

Contract for a Doctrine persistence layer ObjectManager class to implement.

Methods

object
find(string $className, mixed $id)

Finds a object by its identifier.

persist(object $object)

Tells the ObjectManager to make an instance managed and persistent.

remove(object $object)

Removes an object instance.

object
merge(object $object)

Merges the state of a detached object into the persistence context of this ObjectManager and returns the managed copy of the object.

clear(string $objectName = null)

Clears the ObjectManager. All objects that are currently managed by this ObjectManager become detached.

detach(object $object)

Detaches an object from the ObjectManager, causing a managed object to become detached. Unflushed changes made to the object if any (including removal of the object), will not be synchronized to the database.

refresh(object $object)

Refreshes the persistent state of an object from the database, overriding any local changes that have not yet been persisted.

flush()

Flushes all changes to objects that have been queued up to now to the database.

getRepository(string $className)

Gets the repository for a class.

getClassMetadata(string $className)

Returns the ClassMetadata descriptor for a class.

getMetadataFactory()

Gets the metadata factory used to gather the metadata of classes.

initializeObject(object $obj)

Helper method to initialize a lazy loading proxy or persistent collection.

bool
contains(object $object)

Check if the object is part of the current UnitOfWork and therefore managed.

Details

object find(string $className, mixed $id)

Finds a object by its identifier.

This is just a convenient shortcut for getRepository($className)->find($id).

Parameters

string $className
mixed $id

Return Value

object

persist(object $object)

Tells the ObjectManager to make an instance managed and persistent.

The object will be entered into the database as a result of the flush operation.

NOTE: The persist operation always considers objects that are not yet known to this ObjectManager as NEW. Do not pass detached objects to the persist operation.

Parameters

object $object The instance to make managed and persistent.

remove(object $object)

Removes an object instance.

A removed object will be removed from the database as a result of the flush operation.

Parameters

object $object The object instance to remove.

object merge(object $object)

Merges the state of a detached object into the persistence context of this ObjectManager and returns the managed copy of the object.

The object passed to merge will not become associated/managed with this ObjectManager.

Parameters

object $object

Return Value

object

clear(string $objectName = null)

Clears the ObjectManager. All objects that are currently managed by this ObjectManager become detached.

Parameters

string $objectName if given, only objects of this type will get detached

detach(object $object)

Detaches an object from the ObjectManager, causing a managed object to become detached. Unflushed changes made to the object if any (including removal of the object), will not be synchronized to the database.

Objects which previously referenced the detached object will continue to reference it.

Parameters

object $object The object to detach.

refresh(object $object)

Refreshes the persistent state of an object from the database, overriding any local changes that have not yet been persisted.

Parameters

object $object The object to refresh.

flush()

Flushes all changes to objects that have been queued up to now to the database.

This effectively synchronizes the in-memory state of managed objects with the database.

ObjectRepository getRepository(string $className)

Gets the repository for a class.

Parameters

string $className

Return Value

ObjectRepository

ClassMetadata getClassMetadata(string $className)

Returns the ClassMetadata descriptor for a class.

The class name must be the fully-qualified class name without a leading backslash (as it is returned by get_class($obj)).

Parameters

string $className

Return Value

ClassMetadata

ClassMetadataFactory getMetadataFactory()

Gets the metadata factory used to gather the metadata of classes.

Return Value

ClassMetadataFactory

initializeObject(object $obj)

Helper method to initialize a lazy loading proxy or persistent collection.

This method is a no-op for other objects.

Parameters

object $obj

bool contains(object $object)

Check if the object is part of the current UnitOfWork and therefore managed.

Parameters

object $object

Return Value

bool