trait ValueToStringTrait
Provides functionality to express a value as string
Hierarchy
- trait \Ramsey\Collection\Tool\ValueToStringTrait
4 files declare their use of ValueToStringTrait
- AbstractCollection.php in vendor/
ramsey/ collection/ src/ AbstractCollection.php - AbstractTypedMap.php in vendor/
ramsey/ collection/ src/ Map/ AbstractTypedMap.php - NamedParameterMap.php in vendor/
ramsey/ collection/ src/ Map/ NamedParameterMap.php - Queue.php in vendor/
ramsey/ collection/ src/ Queue.php
File
-
vendor/
ramsey/ collection/ src/ Tool/ ValueToStringTrait.php, line 31
Namespace
Ramsey\Collection\ToolView source
trait ValueToStringTrait {
/**
* Returns a string representation of the value.
*
* - null value: `'NULL'`
* - boolean: `'TRUE'`, `'FALSE'`
* - array: `'Array'`
* - scalar: converted-value
* - resource: `'(type resource #number)'`
* - object with `__toString()`: result of `__toString()`
* - object DateTime: ISO 8601 date
* - object: `'(className Object)'`
* - anonymous function: same as object
*
* @param mixed $value the value to return as a string.
*/
protected function toolValueToString(mixed $value) : string {
// null
if ($value === null) {
return 'NULL';
}
// boolean constants
if (is_bool($value)) {
return $value ? 'TRUE' : 'FALSE';
}
// array
if (is_array($value)) {
return 'Array';
}
// scalar types (integer, float, string)
if (is_scalar($value)) {
return (string) $value;
}
// resource
if (is_resource($value)) {
return '(' . get_resource_type($value) . ' resource #' . (int) $value . ')';
}
// From here, $value should be an object.
assert(is_object($value));
// __toString() is implemented
if (is_callable([
$value,
'__toString',
])) {
return (string) $value->__toString();
}
// object of type \DateTime
if ($value instanceof DateTimeInterface) {
return $value->format('c');
}
// unknown type
return '(' . $value::class . ' Object)';
}
}
Members
Title Sort descending | Modifiers | Object type | Summary |
---|---|---|---|
ValueToStringTrait::toolValueToString | protected | function | Returns a string representation of the value. |