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.

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.

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.

ClassMetadataFactory
getMetadataFactory()

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

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.

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

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