Class Type
Encapsulates all conversion functions for values coming from database into PHP and going from PHP into database.
Property Summary
- 
        $_basicTypes protected static deprecated
arrayList of basic type mappings, used to avoid having to instantiate a class for doing conversion on these
 - 
        $_builtTypes protected static
arrayContains a map of type object instances to be reused if needed
 - 
        $_name protected
stringIdentifier name for this type
 - 
        $_types protected static
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() public
Constructor
 - 
          
_basicTypeCast() protected deprecated
Checks whether this type is a basic one and can be converted using a callback If it is, returns converted value
 - 
          
boolval() public static deprecated
Type converter for boolean values.
 - 
          
build() public static
Returns a Type object capable of converting a type identified by $name
 - 
          
buildAll() public static
Returns an arrays with all the mapped type objects, indexed by name
 - 
          
clear() public static
Clears out all created instances and mapped types classes, useful for testing
 - 
          
getBaseType() public
Returns the base type name that this class is inheriting.
 - 
          
getName() public
Returns type identifier name for this object.
 - 
          
map() public static
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() public
Marshalls flat data into PHP objects.
 - 
          
newId() public
Generate a new primary key value for a given type.
 - 
          
set() public static
Returns a Type object capable of converting a type identified by $name
 - 
          
strval() public static deprecated
Type converter for string values.
 - 
          
toDatabase() public
Casts given value from a PHP type to one acceptable by a database.
 - 
          
toPHP() public
Casts given value from a database type to PHP equivalent
 - 
          
toStatement() public
Casts given value to its Statement equivalent.
 
Method Detail
__construct() ¶ public
__construct(string|null $name = null)
      Constructor
Parameters
- 
                
string|null$name optional The name identifying this type
_basicTypeCast() ¶ protected
_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
mixedboolval() ¶ public static
boolval(mixed $value): bool
      Type converter for boolean values.
Will convert string true/false into booleans.
Parameters
- 
                
mixed$value The value to convert to a boolean.
Returns
boolbuild() ¶ public static
build(string $name): Cake\Database\Type
      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() ¶ public static
buildAll(): array
      Returns an arrays with all the mapped type objects, indexed by name
Returns
arrayclear() ¶ public static
clear(): void
      Clears out all created instances and mapped types classes, useful for testing
Returns
voidgetBaseType() ¶ public
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
stringmap() ¶ public static
map(string|array|Cake\Database\Type|null $type = null, string|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
Parameters
- 
                
string|array|Cake\Database\Type|null$type optional if string name of type to map, if array list of arrays to be mapped
- 
                
string|null$className optional 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() ¶ public
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 
Returns
mixednewId() ¶ public
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
mixedset() ¶ public static
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.
Returns
voidstrval() ¶ public static
strval(mixed $value): bool
      Type converter for string values.
Will convert values into strings
Parameters
- 
                
mixed$value The value to convert to a string.
Returns
booltoDatabase() ¶ public
toDatabase(mixed $value, Cake\Database\Driver $driver): mixed
      Casts given value from a PHP type to one acceptable by a database.
Parameters
- 
                
mixed$value - 
                
Cake\Database\Driver$driver 
Returns
mixedtoPHP() ¶ public
toPHP(mixed $value, Cake\Database\Driver $driver): mixed
      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
mixedtoStatement() ¶ public
toStatement(mixed $value, Cake\Database\Driver $driver): mixed
      Casts given value to its Statement equivalent.
Parameters
- 
                
mixed$value - 
                
Cake\Database\Driver$driver 
Returns
mixedProperty Detail
$_basicTypes ¶ protected static deprecated
List of basic type mappings, used to avoid having to instantiate a class for doing conversion on these
Type
array$_builtTypes ¶ protected static
Contains a map of type object instances to be reused if needed
Type
array$_types ¶ protected static
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