Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ValueToStringTrait.php

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\Tool
View 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.

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal