2015-08-17 17:00:26 -07:00
< ? php
namespace Doctrine\Common\Persistence ;
/**
* Contract covering object managers for a Doctrine persistence layer ManagerRegistry class to implement .
*/
interface ManagerRegistry extends ConnectionRegistry
{
/**
* Gets the default object manager name .
*
* @ return string The default object manager name .
*/
public function getDefaultManagerName ();
/**
* Gets a named object manager .
*
* @ param string $name The object manager name ( null for the default one ) .
*
2018-11-23 12:29:20 +00:00
* @ return ObjectManager
2015-08-17 17:00:26 -07:00
*/
public function getManager ( $name = null );
/**
* Gets an array of all registered object managers .
*
2018-11-23 12:29:20 +00:00
* @ return ObjectManager [] An array of ObjectManager instances
2015-08-17 17:00:26 -07:00
*/
public function getManagers ();
/**
* Resets a named object manager .
*
* This method is useful when an object manager has been closed
* because of a rollbacked transaction AND when you think that
* it makes sense to get a new one to replace the closed one .
*
* Be warned that you will get a brand new object manager as
* the existing one is not useable anymore . This means that any
* other object with a dependency on this object manager will
* hold an obsolete reference . You can inject the registry instead
* to avoid this problem .
*
* @ param string | null $name The object manager name ( null for the default one ) .
*
2018-11-23 12:29:20 +00:00
* @ return ObjectManager
2015-08-17 17:00:26 -07:00
*/
public function resetManager ( $name = null );
/**
* Resolves a registered namespace alias to the full namespace .
*
* This method looks for the alias in all registered object managers .
*
* @ param string $alias The alias .
*
* @ return string The full namespace .
*/
public function getAliasNamespace ( $alias );
/**
2018-11-23 12:29:20 +00:00
* Gets all object manager names .
2015-08-17 17:00:26 -07:00
*
2018-11-23 12:29:20 +00:00
* @ return string [] An array of object manager names .
2015-08-17 17:00:26 -07:00
*/
public function getManagerNames ();
/**
2018-11-23 12:29:20 +00:00
* Gets the ObjectRepository for a persistent object .
2015-08-17 17:00:26 -07:00
*
* @ param string $persistentObject The name of the persistent object .
* @ param string $persistentManagerName The object manager name ( null for the default one ) .
*
2018-11-23 12:29:20 +00:00
* @ return ObjectRepository
2015-08-17 17:00:26 -07:00
*/
public function getRepository ( $persistentObject , $persistentManagerName = null );
/**
* Gets the object manager associated with a given class .
*
* @ param string $class A persistent object class name .
*
2018-11-23 12:29:20 +00:00
* @ return ObjectManager | null
2015-08-17 17:00:26 -07:00
*/
public function getManagerForClass ( $class );
}