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\DecimalType
 - Cake\Database\Type\FloatType
 - Cake\Database\Type\IntegerType
 - Cake\Database\Type\JsonType
 - Cake\Database\Type\StringType
 
Indirect Subclasses
Properties summary
- 
    
    
arrayList of basic type mappings, used to avoid having to instantiate a class for doing conversion on these
 - 
    
    Contains a map of type object instances to be reused if needed
array - 
    
$_nameprotectedIdentifier name for this typestring - 
    
    
arrayList 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 
$nameoptional 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\TypeThrows
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$typeoptional null - if string name of type to map, if array list of arrays to be mapped
 - 
     string|null 
$classNameoptional 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\DecimalType',
    'float' => 'Cake\Database\Type\FloatType',
    'integer' => 'Cake\Database\Type\IntegerType',
    'json' => 'Cake\Database\Type\JsonType',
    '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–2017 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.
 https://api.cakephp.org/3.3/class-Cake.Database.Type.html