PHP Class Neos\Flow\Persistence\Generic\Backend\AbstractBackend

Inheritance: implements Neos\Flow\Persistence\Generic\Backend\BackendInterface
Afficher le fichier Open project: neos/flow-development-collection

Protected Properties

Свойство Type Description
$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

Méthodes publiques

Méthode Description
__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.

Méthodes protégées

Méthode Description
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.

Method Details

__construct() public méthode

Constructs the backend
public __construct ( )

arrayContainsObject() protected méthode

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
Résultat boolean

checkPropertyValue() protected méthode

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
Résultat mixed The value of the property

collectProperties() protected méthode

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
Résultat array

commit() public méthode

Commits the current persistence session.
public commit ( ) : void
Résultat void

emitPersistedObject() protected méthode

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_*
Résultat void

emitRemovedObject() protected méthode

Signalizes that the given object has been removed
protected emitRemovedObject ( object $object ) : void
$object object The object that will be removed
Résultat void

flattenValue() protected méthode

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
Résultat void

getType() protected méthode

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

getTypeName() protected méthode

Returns the type name as used in the database table names.
protected getTypeName ( string $type ) : string
$type string
Résultat string

initialize() public méthode

Initializes the backend
public initialize ( array $options ) : void
$options array
Résultat void

injectPersistenceSession() public méthode

Injects the persistence session
public injectPersistenceSession ( Session $persistenceSession ) : void
$persistenceSession Neos\Flow\Persistence\Generic\Session
Résultat void

injectReflectionService() public méthode

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

injectSystemLogger() public méthode

Injects the system logger
public injectSystemLogger ( Neos\Flow\Log\SystemLoggerInterface $systemLogger ) : void
$systemLogger Neos\Flow\Log\SystemLoggerInterface
Résultat void

injectValidatorResolver() public méthode

Injects the ValidatorResolver
public injectValidatorResolver ( ValidatorResolver $validatorResolver ) : void
$validatorResolver Neos\Flow\Validation\ValidatorResolver
Résultat void

isConnected() public méthode

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

persistObject() protected méthode

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

persistObjects() protected méthode

First persist new objects, then check reconstituted entities.
protected persistObjects ( ) : void
Résultat void

processArray() protected méthode

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
Résultat array An array with "flat" values representing the array

processDateTime() protected méthode

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
Résultat integer

processDeletedObjects() protected méthode

Iterate over deleted entities and process them
protected processDeletedObjects ( ) : void
Résultat void

processNestedArray() protected méthode

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

processObject() protected méthode

protected processObject ( object $object, string $parentIdentifier ) : array
$object object
$parentIdentifier string
Résultat array

processSplObjectStorage() protected méthode

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
Résultat array An array with "flat" values representing the SplObjectStorage

removeDeletedArrayEntries() protected méthode

Remove objects removed from array compared to $previousArray.
protected removeDeletedArrayEntries ( array $array = null, array $previousArray ) : void
$array array
$previousArray array
Résultat void

removeDeletedReference() protected méthode

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

removeDeletedSplObjectStorageEntries() protected méthode

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

removeEntity() abstract protected méthode

Remove an entity
abstract protected removeEntity ( object $object ) : void
$object object
Résultat void

removeValueObject() abstract protected méthode

Remove a value object
abstract protected removeValueObject ( object $object ) : void
$object object
Résultat void

setAggregateRootObjects() public méthode

Sets the aggregate root objects
public setAggregateRootObjects ( SplObjectStorage $objects ) : void
$objects SplObjectStorage
Résultat void

setChangedEntities() public méthode

Sets the changed objects
public setChangedEntities ( SplObjectStorage $entities ) : void
$entities SplObjectStorage
Résultat void

setDeletedEntities() public méthode

Sets the deleted objects
public setDeletedEntities ( SplObjectStorage $entities ) : void
$entities SplObjectStorage
Résultat void

setPersistenceManager() public méthode

Set a PersistenceManager instance.
public setPersistenceManager ( Neos\Flow\Persistence\PersistenceManagerInterface $persistenceManager ) : void
$persistenceManager Neos\Flow\Persistence\PersistenceManagerInterface
Résultat void

storeObject() abstract protected méthode

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
Résultat integer one of self::OBJECTSTATE_*

validateObject() protected méthode

Validates the given object and throws an exception if validation fails.
protected validateObject ( object $object ) : void
$object object
Résultat void

Property Details

$aggregateRootObjects protected_oe property

protected SplObjectStorage $aggregateRootObjects
Résultat SplObjectStorage

$changedEntities protected_oe property

protected SplObjectStorage $changedEntities
Résultat SplObjectStorage

$classSchemata protected_oe property

protected array $classSchemata
Résultat array

$deletedEntities protected_oe property

protected SplObjectStorage $deletedEntities
Résultat SplObjectStorage

$persistenceManager protected_oe property

protected PersistenceManagerInterface,Neos\Flow\Persistence $persistenceManager
Résultat Neos\Flow\Persistence\PersistenceManagerInterface

$persistenceSession protected_oe property

protected Session,Neos\Flow\Persistence\Generic $persistenceSession
Résultat Neos\Flow\Persistence\Generic\Session

$reflectionService protected_oe property

protected ReflectionService,Neos\Flow\Reflection $reflectionService
Résultat Neos\Flow\Reflection\ReflectionService

$systemLogger protected_oe property

protected SystemLoggerInterface,Neos\Flow\Log $systemLogger
Résultat Neos\Flow\Log\SystemLoggerInterface

$validatorResolver protected_oe property

protected ValidatorResolver,Neos\Flow\Validation $validatorResolver
Résultat Neos\Flow\Validation\ValidatorResolver

$visitedDuringPersistence protected_oe property

protected SplObjectStorage $visitedDuringPersistence
Résultat SplObjectStorage