\Cake\Database\TypeBinaryType

Binary type converter.

Use to convert binary data between PHP and the database types.

Summary

Methods
Properties
Constants
__construct()
build()
buildAll()
set()
map()
setMap()
getMap()
clear()
getName()
getBaseType()
toDatabase()
toPHP()
toStatement()
boolval()
strval()
newId()
marshal()
__debugInfo()
No public properties found
No constants found
_basicTypeCast()
$_types
$_basicTypes
$_builtTypes
$_name
N/A
No private methods found
No private properties found
N/A

Properties

$_types

$_types : array<mixed,string>|array<mixed,\Cake\Database\Type>

List of supported database types. A human readable identifier is used as key and a complete namespaced class name as value representing the class that will do actual type conversions.

Type

array<mixed,string>|array<mixed,\Cake\Database\Type>

$_basicTypes

$_basicTypes : array

List of basic type mappings, used to avoid having to instantiate a class for doing conversion on these.

Type

array

$_builtTypes

$_builtTypes : array<mixed,\Cake\Database\Type>

Contains a map of type object instances to be reused if needed.

Type

array<mixed,\Cake\Database\Type>

$_name

$_name : string|null

Identifier name for this type.

(This property is declared here again so that the inheritance from Cake\Database\Type can be removed in the future.)

Type

string|null

Methods

__construct()

__construct(string|null  $name = null) 

Constructor.

(This method is declared here again so that the inheritance from Cake\Database\Type can be removed in the future.)

Parameters

string|null $name

The name identifying this type

build()

build(string  $name) : \Cake\Database\Type

Returns a Type object capable of converting a type identified by name.

Parameters

string $name

type identifier

Throws

\InvalidArgumentException

If type identifier is unknown

Returns

\Cake\Database\Type

buildAll()

buildAll() : array

Returns an arrays with all the mapped type objects, indexed by name.

Returns

array

set()

set(string  $name, \Cake\Database\Type  $instance) : void

Returns a Type object capable of converting a type identified by $name

Parameters

string $name

The type identifier you want to set.

\Cake\Database\Type $instance

The type instance you want to set.

map()

map(string|array<mixed,string>|array<mixed,\Cake\Database\Type>|null  $type = null, string|\Cake\Database\Type|null  $className = null) : array|string|null

Registers a new type identifier and maps it to a fully namespaced classname, If called with no arguments it will return current types map array If $className is omitted it will return mapped class for $type

Deprecated 3.6.2:

  • The usage of $type as string[]|\Cake\Database\Type[] is deprecated. Use Type::setMap() with string[] instead.
  • Passing $className as \Cake\Database\Type instance is deprecated, use class name string only.
  • Using this method as getter is deprecated. Use Type::getMap() instead.

Parameters

string|array<mixed,string>|array<mixed,\Cake\Database\Type>|null $type

If string name of type to map, if array list of arrays to be mapped

string|\Cake\Database\Type|null $className

The classname or object instance of it to register.

Returns

array|string|null —

If $type is null then array with current map, if $className is null string configured class name for give $type, null otherwise

setMap()

setMap(array<mixed,string>  $map) : void

Set type to classname mapping.

Parameters

array<mixed,string> $map

List of types to be mapped.

getMap()

getMap(string|null  $type = null) : array|string|\Cake\Database\TypeInterface|null

Get mapped class name or instance for type(s).

Parameters

string|null $type

Type name to get mapped class for or null to get map array.

Returns

array|string|\Cake\Database\TypeInterface|null —

Configured class name or instance for give $type or map array.

clear()

clear() : void

Clears out all created instances and mapped types classes, useful for testing

getName()

getName() : string

Returns type identifier name for this object.

Returns

string —

The type identifier name for this object.

getBaseType()

getBaseType() : string

Returns the base type name that this class is inheriting.

This is useful when extending base type for adding extra functionality, but still want the rest of the framework to use the same assumptions it would do about the base type it inherits from.

Returns

string —

The base type name that this class is inheriting.

toDatabase()

toDatabase(string|resource  $value, \Cake\Database\Driver  $driver) : string|resource

Convert binary data into the database format.

Binary data is not altered before being inserted into the database. As PDO will handle reading file handles.

Parameters

string|resource $value

The value to convert.

\Cake\Database\Driver $driver

The driver instance to convert with.

Returns

string|resource

toPHP()

toPHP(null|string|resource  $value, \Cake\Database\Driver  $driver) : resource|null

Convert binary into resource handles

Parameters

null|string|resource $value

The value to convert.

\Cake\Database\Driver $driver

The driver instance to convert with.

Throws

\Cake\Core\Exception\Exception

Returns

resource|null

toStatement()

toStatement(mixed  $value, \Cake\Database\Driver  $driver) : integer

Get the correct PDO binding type for Binary data.

Parameters

mixed $value

The value being bound.

\Cake\Database\Driver $driver

The driver.

Returns

integer

boolval()

boolval(mixed  $value) : boolean

Type converter for boolean values.

Will convert string true/false into booleans.

Parameters

mixed $value

The value to convert to a boolean.

Returns

boolean

strval()

strval(mixed  $value) : string

Type converter for string values.

Will convert values into strings

Parameters

mixed $value

The value to convert to a string.

Returns

string

newId()

newId() : mixed

Generate a new primary key value for a given type.

This method can be used by types to create new primary key values when entities are inserted.

Returns

mixed —

A new primary key value.

marshal()

marshal(mixed  $value) : mixed

Marshalls flat data into PHP objects.

Most useful for converting request data into PHP objects that make sense for the rest of the ORM/Database layers.

Parameters

mixed $value

The value to convert.

Returns

mixed —

Converted value.

__debugInfo()

__debugInfo() : array

Returns an array that can be used to describe the internal state of this object.

Returns

array

_basicTypeCast()

_basicTypeCast(mixed  $value) : mixed

Checks whether this type is a basic one and can be converted using a callback If it is, returns converted value

Parameters

mixed $value

Value to be converted to PHP equivalent

Returns

mixed