Class BinaryType

Binary type converter.

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

Cake\Database\Type
Extended by Cake\Database\Type\BinaryType

Method Detail

toDatabasesource public

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

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
string|resource

Overrides

Cake\Database\Type::toDatabase()

toPHPsource public

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

Convert binary into resource handles

Parameters

null|string|resource $value
The value to convert.
Cake\Database\Driver $driver
The driver instance to convert with.

Returns

resource|null
resource|null

Throws

Cake\Core\Exception\Exception
\Cake\Core\Exception\Exception

Overrides

Cake\Database\Type::toPHP()

toStatementsource public

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

Get the correct PDO binding type for Binary data.

Parameters

mixed $value
The value being bound.
Cake\Database\Driver $driver
The driver.

Returns

integer
int

Overrides

Cake\Database\Type::toStatement()

Methods inherited from Cake\Database\Type

__constructsource public

__construct( string $name null )

Constructor

Parameters

string $name optional null
The name identifying this type

_basicTypeCastsource protected

_basicTypeCast( mixed $value )

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

Deprecated

3.1 All types should now be a specific class

Parameters

mixed $value
value to be converted to PHP equivalent

Returns

mixed
mixed

boolvalsource public static

boolval( mixed $value )

Type converter for boolean values.

Will convert string true/false into booleans.

Deprecated

3.1.8 This method is now unused.

Parameters

mixed $value
The value to convert to a boolean.

Returns

boolean
bool

buildsource public static

build( string $name )

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

Parameters

string $name
type identifier

Returns

Cake\Database\Type
Type

Throws

InvalidArgumentException
If type identifier is unknown

clearsource public static

clear( )

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

getBaseTypesource public

getBaseType( )

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
string

getNamesource public

getName( )

Returns type identifier name for this object

Returns

string
string

mapsource public static

map( string|array|Cake\Database\Type|null $type null , string|null $className 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

Parameters

string|array|Cake\Database\Type|null $type optional null
if string name of type to map, if array list of arrays to be mapped
string|null $className optional null
The classname 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

marshalsource public

marshal( mixed $value )

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.

newIdsource public

newId( )

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.

See

Cake\Database\Type\UuidType

setsource public static

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

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.

strvalsource public static

strval( mixed $value )

Type converter for string values.

Will convert values into strings

Deprecated

3.1.8 This method is now unused.

Parameters

mixed $value
The value to convert to a string.

Returns

boolean
bool

Properties inherited from Cake\Database\Type

$_basicTypessource

protected static array

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

Deprecated

3.1 All types will now use a specific class
[
    'string' => ['callback' => ['\Cake\Database\Type', 'strval']],
    'text' => ['callback' => ['\Cake\Database\Type', 'strval']],
    'boolean' => [
        'callback' => ['\Cake\Database\Type', 'boolval'],
        'pdo' => PDO::PARAM_BOOL
    ],
]

$_builtTypessource

protected static array

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

[]

$_namesource

protected string

Identifier name for this type

null

$_typessource

protected static array

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.

[
    'biginteger' => 'Cake\Database\Type\IntegerType',
    'binary' => 'Cake\Database\Type\BinaryType',
    'boolean' => 'Cake\Database\Type\BoolType',
    'date' => 'Cake\Database\Type\DateType',
    'datetime' => 'Cake\Database\Type\DateTimeType',
    'decimal' => 'Cake\Database\Type\FloatType',
    'float' => 'Cake\Database\Type\FloatType',
    'integer' => 'Cake\Database\Type\IntegerType',
    'string' => 'Cake\Database\Type\StringType',
    'text' => 'Cake\Database\Type\StringType',
    'time' => 'Cake\Database\Type\TimeType',
    'timestamp' => 'Cake\Database\Type\DateTimeType',
    'uuid' => 'Cake\Database\Type\UuidType',
]

© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
http://api.cakephp.org/3.1/class-Cake.Database.Type.BinaryType.html