PHP 클래스 Bravo3\Orm\Services\EntityManager

상속: use trait Bravo3\Orm\Traits\ProxyAwareTrait
파일 보기 프로젝트 열기: bravo3/orm 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
$cache Bravo3\Orm\Services\Cache\EntityCachingInterface
$config Bravo3\Orm\Config\Configuration
$dispatcher Symfony\Component\EventDispatcher\EventDispatcher
$driver Bravo3\Orm\Drivers\DriverInterface
$index_manager IndexManager
$key_scheme Bravo3\Orm\KeySchemes\KeySchemeInterface
$maintenance_mode boolean
$mapper Bravo3\Orm\Mappers\MapperInterface
$query_manager QueryManager
$relationship_manager RelationshipManager
$serialiser_map Bravo3\Orm\Serialisers\SerialiserMap

공개 메소드들

메소드 설명
addListener ( string $event_name, callable $listener, integer $priority ) Add an event listener
addSubscriber ( Symfony\Component\EventDispatcher\EventSubscriberInterface $subscriber ) Add an event subscriber
build ( Bravo3\Orm\Drivers\DriverInterface $driver, Bravo3\Orm\Mappers\MapperInterface $mapper, SerialiserMap $serialiser_map = null, Bravo3\Orm\KeySchemes\KeySchemeInterface $key_scheme = null, Configuration $configuration = null, Bravo3\Orm\Services\Cache\EntityCachingInterface $cache = null ) : EntityManager Create a new entity manager
delete ( object $entity ) Delete an entity
flush ( ) Execute the current unit of work
getCache ( ) : Bravo3\Orm\Services\Cache\EntityCachingInterface Get caching service
getConfig ( ) : Configuration Get Config
getDispatcher ( ) : EventDispatcher Get the event dispatcher, lazy-loading
getDriver ( ) : Bravo3\Orm\Drivers\DriverInterface Get the underlying driver
getKeyScheme ( ) : Bravo3\Orm\KeySchemes\KeySchemeInterface Get the key scheme
getMaintenanceMode ( ) : boolean Get the state of the maintenance mode
getMapper ( ) : Bravo3\Orm\Mappers\MapperInterface Get the entity mapper
getSerialiserMap ( ) : SerialiserMap Get the serialiser mappings
indexedQuery ( IndexedQuery $query, boolean $use_cache = true ) : QueryResult Create a query against a table matching one or more indices
persist ( object $entity, integer $ttl = null ) Persist an entity
purge ( ) Purge the current unit of work, clearing any unexecuted commands
refresh ( object &$entity ) : object Will force a database update of an entity
retrieve ( string $class_name, string $id, boolean $use_cache = true ) : object Retrieve an entity, throwing a NotFoundException if the entity is not found
retrieveByIndex ( string $class_name, string $index_name, string $index_key, boolean $use_cache = true ) : object Retrieve an entity by an index
retrieveEntityOrNew ( string $class_name, integer $id, boolean $use_cache = true ) : object Retrieve an entity, creating a new instance if the entity is not found
retrieveEntityOrNull ( string $class_name, integer $id, boolean $use_cache = true ) : null | object Retrieve an entity, returning null if the entity is not found
setCache ( Bravo3\Orm\Services\Cache\EntityCachingInterface $cache ) Set caching service
setConfig ( Configuration $config ) Set Config
setMaintenanceMode ( boolean $enabled = true ) Enable or disable maintenance mode
setSerialiserMap ( SerialiserMap $serialiser_map ) Set the serialiser map
sortedQuery ( SortedQuery $query, boolean $check_full_set_size = false, boolean $use_cache = true ) : QueryResult Get all foreign entities ordered by a sort column

보호된 메소드들

메소드 설명
__construct ( Bravo3\Orm\Drivers\DriverInterface $driver, Bravo3\Orm\Mappers\MapperInterface $mapper, SerialiserMap $serialiser_map = null, Bravo3\Orm\KeySchemes\KeySchemeInterface $key_scheme = null, Configuration $configuration = null, Bravo3\Orm\Services\Cache\EntityCachingInterface $cache = null ) Create a raw entity manager
getIndexManager ( ) : IndexManager Lazy-loading index manager
getQueryManager ( ) : QueryManager Lazy-loading query manager
getRelationshipManager ( ) : RelationshipManager Lazy-loading relationship manager
registerDefaultSubscribers ( ) Register default event subscribers

비공개 메소드들

메소드 설명
validateId ( string $id ) Throw an InvalidIdException if an ID contains illegal chars

메소드 상세

__construct() 보호된 메소드

Do not construct an entity manager directly or it will lack access interceptors which are responsible for caching and event dispatching.
또한 보기: EntityManager::build()
protected __construct ( Bravo3\Orm\Drivers\DriverInterface $driver, Bravo3\Orm\Mappers\MapperInterface $mapper, SerialiserMap $serialiser_map = null, Bravo3\Orm\KeySchemes\KeySchemeInterface $key_scheme = null, Configuration $configuration = null, Bravo3\Orm\Services\Cache\EntityCachingInterface $cache = null )
$driver Bravo3\Orm\Drivers\DriverInterface
$mapper Bravo3\Orm\Mappers\MapperInterface
$serialiser_map Bravo3\Orm\Serialisers\SerialiserMap
$key_scheme Bravo3\Orm\KeySchemes\KeySchemeInterface
$configuration Bravo3\Orm\Config\Configuration
$cache Bravo3\Orm\Services\Cache\EntityCachingInterface

addListener() 공개 메소드

Add an event listener
public addListener ( string $event_name, callable $listener, integer $priority )
$event_name string
$listener callable
$priority integer

addSubscriber() 공개 메소드

Add an event subscriber
public addSubscriber ( Symfony\Component\EventDispatcher\EventSubscriberInterface $subscriber )
$subscriber Symfony\Component\EventDispatcher\EventSubscriberInterface

build() 공개 정적인 메소드

Create a new entity manager
public static build ( Bravo3\Orm\Drivers\DriverInterface $driver, Bravo3\Orm\Mappers\MapperInterface $mapper, SerialiserMap $serialiser_map = null, Bravo3\Orm\KeySchemes\KeySchemeInterface $key_scheme = null, Configuration $configuration = null, Bravo3\Orm\Services\Cache\EntityCachingInterface $cache = null ) : EntityManager
$driver Bravo3\Orm\Drivers\DriverInterface
$mapper Bravo3\Orm\Mappers\MapperInterface
$serialiser_map Bravo3\Orm\Serialisers\SerialiserMap
$key_scheme Bravo3\Orm\KeySchemes\KeySchemeInterface
$configuration Bravo3\Orm\Config\Configuration
$cache Bravo3\Orm\Services\Cache\EntityCachingInterface
리턴 EntityManager

delete() 공개 메소드

Any modifications to the entity will be ignored; the persisted state (ID, relationships) of the entity will be deleted. If a new entity is passed to this function, any persisted entity with matching ID & class will be deleted. No error will be raised if a persisted entity is not matched.
public delete ( object $entity )
$entity object

flush() 공개 메소드

Execute the current unit of work
public flush ( )

getCache() 공개 메소드

Get caching service
public getCache ( ) : Bravo3\Orm\Services\Cache\EntityCachingInterface
리턴 Bravo3\Orm\Services\Cache\EntityCachingInterface

getConfig() 공개 메소드

Get Config
public getConfig ( ) : Configuration
리턴 Bravo3\Orm\Config\Configuration

getDispatcher() 공개 메소드

Get the event dispatcher, lazy-loading
public getDispatcher ( ) : EventDispatcher
리턴 Symfony\Component\EventDispatcher\EventDispatcher

getDriver() 공개 메소드

Get the underlying driver
public getDriver ( ) : Bravo3\Orm\Drivers\DriverInterface
리턴 Bravo3\Orm\Drivers\DriverInterface

getIndexManager() 보호된 메소드

Lazy-loading index manager
protected getIndexManager ( ) : IndexManager
리턴 IndexManager

getKeyScheme() 공개 메소드

Get the key scheme
public getKeyScheme ( ) : Bravo3\Orm\KeySchemes\KeySchemeInterface
리턴 Bravo3\Orm\KeySchemes\KeySchemeInterface

getMaintenanceMode() 공개 메소드

Get the state of the maintenance mode
public getMaintenanceMode ( ) : boolean
리턴 boolean

getMapper() 공개 메소드

Get the entity mapper
public getMapper ( ) : Bravo3\Orm\Mappers\MapperInterface
리턴 Bravo3\Orm\Mappers\MapperInterface

getQueryManager() 보호된 메소드

Lazy-loading query manager
protected getQueryManager ( ) : QueryManager
리턴 QueryManager

getRelationshipManager() 보호된 메소드

Lazy-loading relationship manager
protected getRelationshipManager ( ) : RelationshipManager
리턴 RelationshipManager

getSerialiserMap() 공개 메소드

Get the serialiser mappings
public getSerialiserMap ( ) : SerialiserMap
리턴 Bravo3\Orm\Serialisers\SerialiserMap

indexedQuery() 공개 메소드

Create a query against a table matching one or more indices
public indexedQuery ( IndexedQuery $query, boolean $use_cache = true ) : QueryResult
$query Bravo3\Orm\Query\IndexedQuery
$use_cache boolean
리턴 Bravo3\Orm\Query\QueryResult

persist() 공개 메소드

Persist an entity
public persist ( object $entity, integer $ttl = null )
$entity object Entity object to persist
$ttl integer Optional TTL if the driver supports it, seconds past current time

purge() 공개 메소드

Purge the current unit of work, clearing any unexecuted commands
public purge ( )

refresh() 공개 메소드

This will also convert a fresh entity to an OrmProxyInterface.
public refresh ( object &$entity ) : object
$entity object
리턴 object

registerDefaultSubscribers() 보호된 메소드

Register default event subscribers

retrieve() 공개 메소드

Retrieve an entity, throwing a NotFoundException if the entity is not found
public retrieve ( string $class_name, string $id, boolean $use_cache = true ) : object
$class_name string
$id string
$use_cache boolean
리턴 object

retrieveByIndex() 공개 메소드

Retrieve an entity by an index
public retrieveByIndex ( string $class_name, string $index_name, string $index_key, boolean $use_cache = true ) : object
$class_name string
$index_name string
$index_key string
$use_cache boolean
리턴 object

retrieveEntityOrNew() 공개 메소드

NB: The entity must be able to be constructed without constructor arguments.
public retrieveEntityOrNew ( string $class_name, integer $id, boolean $use_cache = true ) : object
$class_name string
$id integer
$use_cache boolean
리턴 object

retrieveEntityOrNull() 공개 메소드

Retrieve an entity, returning null if the entity is not found
public retrieveEntityOrNull ( string $class_name, integer $id, boolean $use_cache = true ) : null | object
$class_name string
$id integer
$use_cache boolean
리턴 null | object

setCache() 공개 메소드

Set caching service
public setCache ( Bravo3\Orm\Services\Cache\EntityCachingInterface $cache )
$cache Bravo3\Orm\Services\Cache\EntityCachingInterface

setConfig() 공개 메소드

Set Config
public setConfig ( Configuration $config )
$config Bravo3\Orm\Config\Configuration

setMaintenanceMode() 공개 메소드

Enable or disable maintenance mode
public setMaintenanceMode ( boolean $enabled = true )
$enabled boolean

setSerialiserMap() 공개 메소드

Set the serialiser map
public setSerialiserMap ( SerialiserMap $serialiser_map )
$serialiser_map Bravo3\Orm\Serialisers\SerialiserMap

sortedQuery() 공개 메소드

If you have applied a limit to the query but need to know the full size of the unfiltered set, you must set $check_full_set_size to true to gather this information at the expense of a second database query.
public sortedQuery ( SortedQuery $query, boolean $check_full_set_size = false, boolean $use_cache = true ) : QueryResult
$query Bravo3\Orm\Query\SortedQuery
$check_full_set_size boolean
$use_cache boolean
리턴 Bravo3\Orm\Query\QueryResult

프로퍼티 상세

$cache 보호되어 있는 프로퍼티

protected EntityCachingInterface,Bravo3\Orm\Services\Cache $cache
리턴 Bravo3\Orm\Services\Cache\EntityCachingInterface

$config 보호되어 있는 프로퍼티

protected Configuration,Bravo3\Orm\Config $config
리턴 Bravo3\Orm\Config\Configuration

$dispatcher 보호되어 있는 프로퍼티

protected EventDispatcher,Symfony\Component\EventDispatcher $dispatcher
리턴 Symfony\Component\EventDispatcher\EventDispatcher

$driver 보호되어 있는 프로퍼티

protected DriverInterface,Bravo3\Orm\Drivers $driver
리턴 Bravo3\Orm\Drivers\DriverInterface

$index_manager 보호되어 있는 프로퍼티

protected IndexManager,Bravo3\Orm\Services $index_manager
리턴 IndexManager

$key_scheme 보호되어 있는 프로퍼티

protected KeySchemeInterface,Bravo3\Orm\KeySchemes $key_scheme
리턴 Bravo3\Orm\KeySchemes\KeySchemeInterface

$maintenance_mode 보호되어 있는 프로퍼티

protected bool $maintenance_mode
리턴 boolean

$mapper 보호되어 있는 프로퍼티

protected MapperInterface,Bravo3\Orm\Mappers $mapper
리턴 Bravo3\Orm\Mappers\MapperInterface

$query_manager 보호되어 있는 프로퍼티

protected QueryManager,Bravo3\Orm\Services $query_manager
리턴 QueryManager

$relationship_manager 보호되어 있는 프로퍼티

protected RelationshipManager,Bravo3\Orm\Services $relationship_manager
리턴 RelationshipManager

$serialiser_map 보호되어 있는 프로퍼티

protected SerialiserMap,Bravo3\Orm\Serialisers $serialiser_map
리턴 Bravo3\Orm\Serialisers\SerialiserMap