On this page
Class Type
Encapsulates all conversion functions for values coming from database into PHP and going from PHP into database.
- Cake\Database\Type implements Cake\Database\TypeInterface
Direct Subclasses
- Cake\Database\Type\BinaryType
- Cake\Database\Type\BoolType
- Cake\Database\Type\DateTimeType
- Cake\Database\Type\FloatType
- Cake\Database\Type\IntegerType
- Cake\Database\Type\StringType
Indirect Subclasses
Properties summary
-
array
List of basic type mappings, used to avoid having to instantiate a class for doing conversion on these
-
array
-
$_name
protectedstring
-
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.
Method Summary
-
__construct() publicConstructor
-
_basicTypeCast() protected
Checks whether this type is a basic one and can be converted using a callback If it is, returns converted value
- Type converter for boolean values.
- Returns a Type object capable of converting a type identified by $name
- Returns an arrays with all the mapped type objects, indexed by name
- Clears out all created instances and mapped types classes, useful for testing
-
getBaseType() publicReturns the base type name that this class is inheriting.
-
getName() publicReturns type identifier name for this object.
-
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
-
marshal() publicMarshalls flat data into PHP objects.
-
newId() publicGenerate a new primary key value for a given type.
- Returns a Type object capable of converting a type identified by $name
- Type converter for string values.
-
toDatabase() publicCasts given value from a PHP type to one acceptable by a database.
-
toPHP() publicCasts given value from a database type to PHP equivalent
-
toStatement() publicCasts given value to its Statement equivalent.
Method Detail
__construct()source public
__construct( string|null $name null )
Constructor
Parameters
-
string|null
$name
optional null - The name identifying this type
_basicTypeCast()source 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 classParameters
-
mixed
$value
- value to be converted to PHP equivalent
Returns
mixedboolval()source 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
booleanbuild()source 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
Throws
InvalidArgumentExceptionIf type identifier is unknown
buildAll()source public static
buildAll( )
Returns an arrays with all the mapped type objects, indexed by name
Returns
arrayclear()source public static
clear( )
Clears out all created instances and mapped types classes, useful for testing
getBaseType()source public
getBaseType( )
Returns the base type name that this class is inheriting.
Returns
stringThe base type name that this class is inheriting.
Implementation of
Cake\Database\TypeInterface::getBaseType()
getName()source public
getName( )
Returns type identifier name for this object.
Returns
stringThe type identifier name for this object.
Implementation of
Cake\Database\TypeInterface::getName()
map()source 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|nullif $type is null then array with current map, if $className is null string configured class name for give $type, null otherwise
marshal()source public
marshal( mixed $value )
Marshalls flat data into PHP objects.
Parameters
-
mixed
$value
- The value to convert.
Returns
mixedConverted value.
Implementation of
Cake\Database\TypeInterface::marshal()
newId()source public
newId( )
Generate a new primary key value for a given type.
Returns
mixedA new primary key value.
Implementation of
Cake\Database\TypeInterface::newId()
set()source 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.
strval()source 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
booleantoDatabase()source public
toDatabase( mixed $value , Cake\Database\Driver $driver )
Casts given value from a PHP type to one acceptable by a database.
Parameters
-
mixed
$value
- Value to be converted to a database equivalent.
Cake\Database\Driver
$driver
- Object from which database preferences and configuration will be extracted.
Returns
mixedGiven PHP type casted to one acceptable by a database.
Implementation of
Cake\Database\TypeInterface::toDatabase()
toPHP()source public
toPHP( mixed $value , Cake\Database\Driver $driver )
Casts given value from a database type to PHP equivalent
Parameters
-
mixed
$value
- value to be converted to PHP equivalent
Cake\Database\Driver
$driver
- object from which database preferences and configuration will be extracted
Returns
mixedImplementation of
Cake\Database\TypeInterface::toPHP()
toStatement()source public
toStatement( mixed $value , Cake\Database\Driver $driver )
Casts given value to its Statement equivalent.
Parameters
-
mixed
$value
- Value to be converted to PDO statement.
Cake\Database\Driver
$driver
- Object from which database preferences and configuration will be extracted.
Returns
mixedGiven value casted to its Statement equivalent.
Implementation of
Cake\Database\TypeInterface::toStatement()
Properties detail
$_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
[]
$_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.2/class-Cake.Database.Type.html