PHP Класс Neos\Flow\Persistence\Doctrine\DataTypes\JsonArrayType

TODO: If doctrine supports a Postgres 9.4 platform we could default to jsonb.
Наследование: extends Doctrine\DBAL\Types\JsonArrayType
Показать файл Открыть проект Примеры использования класса

Защищенные свойства (Protected)

Свойство Тип Описание
$persistenceManager Neos\Flow\Persistence\PersistenceManagerInterface
$reflectionService Neos\Flow\Reflection\ReflectionService

Открытые методы

Метод Описание
convertToDatabaseValue ( array $array, Doctrine\DBAL\Platforms\AbstractPlatform $platform ) : mixed Converts a value from its PHP representation to its database representation of this type.
convertToPHPValue ( mixed $value, Doctrine\DBAL\Platforms\AbstractPlatform $platform ) : array Converts a value from its database representation to its PHP representation of this type.
getBindingType ( ) : integer Gets the (preferred) binding type for values of this type that can be used when binding parameters to prepared statements.
getMappedDatabaseTypes ( Doctrine\DBAL\Platforms\AbstractPlatform $platform ) : array We map jsonb fields to our datatype by default. Doctrine doesn't use jsonb at all.
getName ( ) : string Gets the name of this type.
getSQLDeclaration ( array $fieldDeclaration, Doctrine\DBAL\Platforms\AbstractPlatform $platform ) : string Use jsonb for PostgreSQL, this means we require PostgreSQL 9.4
requiresSQLCommentHint ( Doctrine\DBAL\Platforms\AbstractPlatform $platform ) : boolean We require a comment on the column to make doctrine recognize the type on already existing columns

Защищенные методы

Метод Описание
decodeObjectReferences ( array &$array ) : void Traverses the $array and replaces known persisted objects (tuples of type and identifier) with actual instances.
encodeObjectReferences ( array &$array ) : void Traverses the $array and replaces known persisted objects with a tuple of type and identifier.
initializeDependencies ( ) : void Fetches dependencies from the static object manager.

Описание методов

convertToDatabaseValue() публичный Метод

Converts a value from its PHP representation to its database representation of this type.
public convertToDatabaseValue ( array $array, Doctrine\DBAL\Platforms\AbstractPlatform $platform ) : mixed
$array array The value to convert.
$platform Doctrine\DBAL\Platforms\AbstractPlatform The currently used database platform.
Результат mixed The database representation of the value.

convertToPHPValue() публичный Метод

Converts a value from its database representation to its PHP representation of this type.
public convertToPHPValue ( mixed $value, Doctrine\DBAL\Platforms\AbstractPlatform $platform ) : array
$value mixed The value to convert.
$platform Doctrine\DBAL\Platforms\AbstractPlatform The currently used database platform.
Результат array The PHP representation of the value.

decodeObjectReferences() защищенный Метод

Traverses the $array and replaces known persisted objects (tuples of type and identifier) with actual instances.
protected decodeObjectReferences ( array &$array ) : void
$array array
Результат void

encodeObjectReferences() защищенный Метод

Traverses the $array and replaces known persisted objects with a tuple of type and identifier.
protected encodeObjectReferences ( array &$array ) : void
$array array
Результат void

getBindingType() публичный Метод

Gets the (preferred) binding type for values of this type that can be used when binding parameters to prepared statements.
public getBindingType ( ) : integer
Результат integer

getMappedDatabaseTypes() публичный Метод

We map jsonb fields to our datatype by default. Doctrine doesn't use jsonb at all.
public getMappedDatabaseTypes ( Doctrine\DBAL\Platforms\AbstractPlatform $platform ) : array
$platform Doctrine\DBAL\Platforms\AbstractPlatform
Результат array

getName() публичный Метод

Gets the name of this type.
public getName ( ) : string
Результат string

getSQLDeclaration() публичный Метод

Use jsonb for PostgreSQL, this means we require PostgreSQL 9.4
public getSQLDeclaration ( array $fieldDeclaration, Doctrine\DBAL\Platforms\AbstractPlatform $platform ) : string
$fieldDeclaration array The field declaration
$platform Doctrine\DBAL\Platforms\AbstractPlatform The currently used database platform
Результат string

initializeDependencies() защищенный Метод

Injection cannot be used, since __construct on Types\Type is final.
protected initializeDependencies ( ) : void
Результат void

requiresSQLCommentHint() публичный Метод

We require a comment on the column to make doctrine recognize the type on already existing columns
public requiresSQLCommentHint ( Doctrine\DBAL\Platforms\AbstractPlatform $platform ) : boolean
$platform Doctrine\DBAL\Platforms\AbstractPlatform
Результат boolean

Описание свойств

$persistenceManager защищенное свойство

protected PersistenceManagerInterface,Neos\Flow\Persistence $persistenceManager
Результат Neos\Flow\Persistence\PersistenceManagerInterface

$reflectionService защищенное свойство

protected ReflectionService,Neos\Flow\Reflection $reflectionService
Результат Neos\Flow\Reflection\ReflectionService