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

Breadcrumb

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

class MapParser

Hierarchy

  • class \OpenTelemetry\SDK\Common\Configuration\Parser\MapParser

Expanded class hierarchy of MapParser

1 file declares its use of MapParser
Configuration.php in vendor/open-telemetry/sdk/Common/Configuration/Configuration.php

File

vendor/open-telemetry/sdk/Common/Configuration/Parser/MapParser.php, line 9

Namespace

OpenTelemetry\SDK\Common\Configuration\Parser
View source
class MapParser {
    private const VARIABLE_SEPARATOR = ',';
    private const KEY_VALUE_SEPARATOR = '=';
    public static function parse($value) : array {
        if (is_array($value)) {
            return $value;
        }
        $result = [];
        if (null === $value || trim((string) $value) === '') {
            return $result;
        }
        foreach (explode(self::VARIABLE_SEPARATOR, (string) $value) as $pair) {
            self::validateKeyValuePair($pair);
            
            /** @psalm-suppress PossiblyUndefinedArrayOffset */
            [
                $key,
                $value,
            ] = explode(self::KEY_VALUE_SEPARATOR, $pair, 2);
            $result[trim($key)] = trim($value);
        }
        return $result;
    }
    private static function validateKeyValuePair(string $pair) {
        if (!str_contains($pair, self::KEY_VALUE_SEPARATOR)) {
            throw new InvalidArgumentException(sprintf('Key-Value pair "%s" does not contain separator "%s"', $pair, self::KEY_VALUE_SEPARATOR));
        }
    }

}

Members

Title Sort descending Modifiers Object type Summary
MapParser::KEY_VALUE_SEPARATOR private constant
MapParser::parse public static function
MapParser::validateKeyValuePair private static function
MapParser::VARIABLE_SEPARATOR private constant

API Navigation

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