PHP 클래스 Neos\Flow\Persistence\Generic\Backend\AbstractBackend

상속: implements Neos\Flow\Persistence\Generic\Backend\BackendInterface
파일 보기 프로젝트 열기: neos/flow-development-collection

보호된 프로퍼티들

프로퍼티 타입 설명
$aggregateRootObjects SplObjectStorage
$changedEntities SplObjectStorage
$classSchemata array
$deletedEntities SplObjectStorage
$persistenceManager Neos\Flow\Persistence\PersistenceManagerInterface
$persistenceSession Neos\Flow\Persistence\Generic\Session
$reflectionService Neos\Flow\Reflection\ReflectionService
$systemLogger Neos\Flow\Log\SystemLoggerInterface
$validatorResolver Neos\Flow\Validation\ValidatorResolver
$visitedDuringPersistence SplObjectStorage

공개 메소드들

메소드 설명
__construct ( ) Constructs the backend
commit ( ) : void Commits the current persistence session.
initialize ( array $options ) : void Initializes the backend
injectPersistenceSession ( Session $persistenceSession ) : void Injects the persistence session
injectReflectionService ( ReflectionService $reflectionService ) : void Injects a Reflection Service instance used for processing objects
injectSystemLogger ( Neos\Flow\Log\SystemLoggerInterface $systemLogger ) : void Injects the system logger
injectValidatorResolver ( ValidatorResolver $validatorResolver ) : void Injects the ValidatorResolver
isConnected ( ) : boolean Returns TRUE, if an active connection to the persistence backend has been established, e.g. entities can be persisted.
setAggregateRootObjects ( SplObjectStorage $objects ) : void Sets the aggregate root objects
setChangedEntities ( SplObjectStorage $entities ) : void Sets the changed objects
setDeletedEntities ( SplObjectStorage $entities ) : void Sets the deleted objects
setPersistenceManager ( Neos\Flow\Persistence\PersistenceManagerInterface $persistenceManager ) : void Set a PersistenceManager instance.

보호된 메소드들

메소드 설명
arrayContainsObject ( array $array, object $object, string $identifier ) : boolean Checks whether the given object is contained in the array. This checks for object identity in terms of the persistence layer, i.e. the UUID, when comparing entities.
checkPropertyValue ( object $object, string $propertyName, array $propertyMetaData ) : mixed Check the property value for allowed types and throw exceptions for unsupported types.
collectProperties ( string $identifier, object $object, array $properties, boolean &$dirty ) : array
emitPersistedObject ( object $object, integer $objectState ) : void Signalizes that the given object has been persisted
emitRemovedObject ( object $object ) : void Signalizes that the given object has been removed
flattenValue ( string $identifier, object $object, string $propertyName, array $propertyMetaData, array &$propertyData ) : void Convert a value to the internal object data format
getType ( mixed $value ) : string Returns the type of $value, i.e. the class name or primitive type.
getTypeName ( string $type ) : string Returns the type name as used in the database table names.
persistObject ( object $object, string $parentIdentifier ) : string Stores or updates an object in the underlying storage.
persistObjects ( ) : void First persist new objects, then check reconstituted entities.
processArray ( array $array = null, string $parentIdentifier, array $previousArray = null ) : array Store an array as a set of records, with each array element becoming a property named like the key and the value.
processDateTime ( DateTimeInterface $dateTime = null ) : integer Creates a unix timestamp from the given DateTime object. If NULL is given NULL will be returned.
processDeletedObjects ( ) : void Iterate over deleted entities and process them
processNestedArray ( string $parentIdentifier, array $nestedArray, Closure $handler = null ) : string "Serializes" a nested array for storage.
processObject ( object $object, string $parentIdentifier ) : array
processSplObjectStorage ( SplObjectStorage $splObjectStorage = null, string $parentIdentifier, array $previousObjectStorage = null ) : array Store an SplObjectStorage as a set of records.
removeDeletedArrayEntries ( array $array = null, array $previousArray ) : void Remove objects removed from array compared to $previousArray.
removeDeletedReference ( object $object, string $propertyName, array $propertyMetaData ) : void Remove any unreferenced non aggregate root entity
removeDeletedSplObjectStorageEntries ( SplObjectStorage $splObjectStorage = null, array $previousObjectStorage ) : void Remove objects removed from SplObjectStorage compared to $previousSplObjectStorage.
removeEntity ( object $object ) : void Remove an entity
removeValueObject ( object $object ) : void Remove a value object
storeObject ( object $object, string $identifier, string $parentIdentifier, array &$objectData ) : integer Actually store an object, backend-specific
validateObject ( object $object ) : void Validates the given object and throws an exception if validation fails.

메소드 상세

__construct() 공개 메소드

Constructs the backend
public __construct ( )

arrayContainsObject() 보호된 메소드

Checks whether the given object is contained in the array. This checks for object identity in terms of the persistence layer, i.e. the UUID, when comparing entities.
protected arrayContainsObject ( array $array, object $object, string $identifier ) : boolean
$array array
$object object
$identifier string
리턴 boolean

checkPropertyValue() 보호된 메소드

Check the property value for allowed types and throw exceptions for unsupported types.
protected checkPropertyValue ( object $object, string $propertyName, array $propertyMetaData ) : mixed
$object object The object with the property to check
$propertyName string The name of the property to check
$propertyMetaData array Property metadata
리턴 mixed The value of the property

collectProperties() 보호된 메소드

protected collectProperties ( string $identifier, object $object, array $properties, boolean &$dirty ) : array
$identifier string The object's identifier
$object object The object to work on
$properties array The properties to collect (as per class schema)
$dirty boolean A dirty flag that is passed by reference and set to TRUE if a dirty property was found
리턴 array

commit() 공개 메소드

Commits the current persistence session.
public commit ( ) : void
리턴 void

emitPersistedObject() 보호된 메소드

Signalizes that the given object has been persisted
protected emitPersistedObject ( object $object, integer $objectState ) : void
$object object The object that will be persisted
$objectState integer The state, see self::OBJECTSTATE_*
리턴 void

emitRemovedObject() 보호된 메소드

Signalizes that the given object has been removed
protected emitRemovedObject ( object $object ) : void
$object object The object that will be removed
리턴 void

flattenValue() 보호된 메소드

Convert a value to the internal object data format
protected flattenValue ( string $identifier, object $object, string $propertyName, array $propertyMetaData, array &$propertyData ) : void
$identifier string The object's identifier
$object object The object with the property to flatten
$propertyName string The name of the property
$propertyMetaData array The property metadata
$propertyData array Reference to the property data array
리턴 void

getType() 보호된 메소드

Returns the type of $value, i.e. the class name or primitive type.
protected getType ( mixed $value ) : string
$value mixed
리턴 string

getTypeName() 보호된 메소드

Returns the type name as used in the database table names.
protected getTypeName ( string $type ) : string
$type string
리턴 string

initialize() 공개 메소드

Initializes the backend
public initialize ( array $options ) : void
$options array
리턴 void

injectPersistenceSession() 공개 메소드

Injects the persistence session
public injectPersistenceSession ( Session $persistenceSession ) : void
$persistenceSession Neos\Flow\Persistence\Generic\Session
리턴 void

injectReflectionService() 공개 메소드

Injects a Reflection Service instance used for processing objects
public injectReflectionService ( ReflectionService $reflectionService ) : void
$reflectionService Neos\Flow\Reflection\ReflectionService
리턴 void

injectSystemLogger() 공개 메소드

Injects the system logger
public injectSystemLogger ( Neos\Flow\Log\SystemLoggerInterface $systemLogger ) : void
$systemLogger Neos\Flow\Log\SystemLoggerInterface
리턴 void

injectValidatorResolver() 공개 메소드

Injects the ValidatorResolver
public injectValidatorResolver ( ValidatorResolver $validatorResolver ) : void
$validatorResolver Neos\Flow\Validation\ValidatorResolver
리턴 void

isConnected() 공개 메소드

Returns TRUE, if an active connection to the persistence backend has been established, e.g. entities can be persisted.
public isConnected ( ) : boolean
리턴 boolean TRUE, if an connection has been established, FALSE if add object will not be persisted by the backend

persistObject() 보호된 메소드

Stores or updates an object in the underlying storage.
protected persistObject ( object $object, string $parentIdentifier ) : string
$object object The object to persist
$parentIdentifier string
리턴 string

persistObjects() 보호된 메소드

First persist new objects, then check reconstituted entities.
protected persistObjects ( ) : void
리턴 void

processArray() 보호된 메소드

Note: Objects contained in the array will have a matching entry created, the objects must be persisted elsewhere!
protected processArray ( array $array = null, string $parentIdentifier, array $previousArray = null ) : array
$array array The array to persist
$parentIdentifier string
$previousArray array the previously persisted state of the array
리턴 array An array with "flat" values representing the array

processDateTime() 보호된 메소드

Creates a unix timestamp from the given DateTime object. If NULL is given NULL will be returned.
protected processDateTime ( DateTimeInterface $dateTime = null ) : integer
$dateTime DateTimeInterface
리턴 integer

processDeletedObjects() 보호된 메소드

Iterate over deleted entities and process them
protected processDeletedObjects ( ) : void
리턴 void

processNestedArray() 보호된 메소드

"Serializes" a nested array for storage.
protected processNestedArray ( string $parentIdentifier, array $nestedArray, Closure $handler = null ) : string
$parentIdentifier string
$nestedArray array
$handler Closure
리턴 string

processObject() 보호된 메소드

protected processObject ( object $object, string $parentIdentifier ) : array
$object object
$parentIdentifier string
리턴 array

processSplObjectStorage() 보호된 메소드

Note: Objects contained in the SplObjectStorage will have a matching entry created, the objects must be persisted elsewhere!
protected processSplObjectStorage ( SplObjectStorage $splObjectStorage = null, string $parentIdentifier, array $previousObjectStorage = null ) : array
$splObjectStorage SplObjectStorage The SplObjectStorage to persist
$parentIdentifier string
$previousObjectStorage array the previously persisted state of the SplObjectStorage
리턴 array An array with "flat" values representing the SplObjectStorage

removeDeletedArrayEntries() 보호된 메소드

Remove objects removed from array compared to $previousArray.
protected removeDeletedArrayEntries ( array $array = null, array $previousArray ) : void
$array array
$previousArray array
리턴 void

removeDeletedReference() 보호된 메소드

Remove any unreferenced non aggregate root entity
protected removeDeletedReference ( object $object, string $propertyName, array $propertyMetaData ) : void
$object object
$propertyName string
$propertyMetaData array
리턴 void

removeDeletedSplObjectStorageEntries() 보호된 메소드

Remove objects removed from SplObjectStorage compared to $previousSplObjectStorage.
protected removeDeletedSplObjectStorageEntries ( SplObjectStorage $splObjectStorage = null, array $previousObjectStorage ) : void
$splObjectStorage SplObjectStorage
$previousObjectStorage array
리턴 void

removeEntity() 추상적인 보호된 메소드

Remove an entity
abstract protected removeEntity ( object $object ) : void
$object object
리턴 void

removeValueObject() 추상적인 보호된 메소드

Remove a value object
abstract protected removeValueObject ( object $object ) : void
$object object
리턴 void

setAggregateRootObjects() 공개 메소드

Sets the aggregate root objects
public setAggregateRootObjects ( SplObjectStorage $objects ) : void
$objects SplObjectStorage
리턴 void

setChangedEntities() 공개 메소드

Sets the changed objects
public setChangedEntities ( SplObjectStorage $entities ) : void
$entities SplObjectStorage
리턴 void

setDeletedEntities() 공개 메소드

Sets the deleted objects
public setDeletedEntities ( SplObjectStorage $entities ) : void
$entities SplObjectStorage
리턴 void

setPersistenceManager() 공개 메소드

Set a PersistenceManager instance.
public setPersistenceManager ( Neos\Flow\Persistence\PersistenceManagerInterface $persistenceManager ) : void
$persistenceManager Neos\Flow\Persistence\PersistenceManagerInterface
리턴 void

storeObject() 추상적인 보호된 메소드

Actually store an object, backend-specific
abstract protected storeObject ( object $object, string $identifier, string $parentIdentifier, array &$objectData ) : integer
$object object
$identifier string
$parentIdentifier string
$objectData array
리턴 integer one of self::OBJECTSTATE_*

validateObject() 보호된 메소드

Validates the given object and throws an exception if validation fails.
protected validateObject ( object $object ) : void
$object object
리턴 void

프로퍼티 상세

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

protected SplObjectStorage $aggregateRootObjects
리턴 SplObjectStorage

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

protected SplObjectStorage $changedEntities
리턴 SplObjectStorage

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

protected array $classSchemata
리턴 array

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

protected SplObjectStorage $deletedEntities
리턴 SplObjectStorage

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

protected PersistenceManagerInterface,Neos\Flow\Persistence $persistenceManager
리턴 Neos\Flow\Persistence\PersistenceManagerInterface

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

protected Session,Neos\Flow\Persistence\Generic $persistenceSession
리턴 Neos\Flow\Persistence\Generic\Session

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

protected ReflectionService,Neos\Flow\Reflection $reflectionService
리턴 Neos\Flow\Reflection\ReflectionService

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

protected SystemLoggerInterface,Neos\Flow\Log $systemLogger
리턴 Neos\Flow\Log\SystemLoggerInterface

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

protected ValidatorResolver,Neos\Flow\Validation $validatorResolver
리턴 Neos\Flow\Validation\ValidatorResolver

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

protected SplObjectStorage $visitedDuringPersistence
리턴 SplObjectStorage