Class TypeFactory
Factory for building database type classes.
Properties summary
-
$_builtTypes protected static
\Cake\Database\TypeInterface[]Contains a map of type object instances to be reused if needed.
-
$_types protected static
array<string,string>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
-
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
-
getMap() public static
Get mapped class name for given type or map array.
-
map() public static
Registers a new type identifier and maps it to a fully namespaced classname.
-
set() public static
Set TypeInterface instance capable of converting a type identified by $name
-
setMap() public static
Set type to classname mapping.
Method Detail
build() 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\TypeInterfaceThrows
InvalidArgumentExceptionIf type identifier is unknown
buildAll() public static ¶
buildAll()
Returns an arrays with all the mapped type objects, indexed by name.
Returns
\Cake\Database\TypeInterface[]clear() public static ¶
clear()
Clears out all created instances and mapped types classes, useful for testing
getMap() public static ¶
getMap(?string $type)
Get mapped class name for given type or map array.
Parameters
-
string|null$type optional Type name to get mapped class for or null to get map array.
Returns
string[]|string|nullConfigured class name for given $type or map array.
map() public static ¶
map(string $type, string $className)
Registers a new type identifier and maps it to a fully namespaced classname.
Parameters
-
string$type Name of type to map.
-
string$className The classname to register.
set() public static ¶
set(string $name, \Cake\Database\TypeInterface $instance)
Set TypeInterface instance capable of converting a type identified by $name
Parameters
-
string$name The type identifier you want to set.
-
\Cake\Database\TypeInterface$instance The type instance you want to set.
setMap() public static ¶
setMap(array $map)
Set type to classname mapping.
Parameters
-
string[]$map List of types to be mapped.
Property Detail
$_builtTypes ¶ protected static
Contains a map of type object instances to be reused if needed.
Type
\Cake\Database\TypeInterface[]$_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<string,string>