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

Breadcrumb

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

function ConsoleLogger::interpolate

Interpolates context values into the message placeholders.

@author PHP Framework Interoperability Group

1 call to ConsoleLogger::interpolate()
ConsoleLogger::log in vendor/symfony/console/Logger/ConsoleLogger.php

File

vendor/symfony/console/Logger/ConsoleLogger.php, line 99

Class

ConsoleLogger
PSR-3 compliant console logger.

Namespace

Symfony\Component\Console\Logger

Code

private function interpolate(string $message, array $context) : string {
    if (!str_contains($message, '{')) {
        return $message;
    }
    $replacements = [];
    foreach ($context as $key => $val) {
        if (null === $val || \is_scalar($val) || $val instanceof \Stringable) {
            $replacements["{{$key}}"] = $val;
        }
        elseif ($val instanceof \DateTimeInterface) {
            $replacements["{{$key}}"] = $val->format(\DateTimeInterface::RFC3339);
        }
        elseif (\is_object($val)) {
            $replacements["{{$key}}"] = '[object ' . $val::class . ']';
        }
        else {
            $replacements["{{$key}}"] = '[' . \gettype($val) . ']';
        }
    }
    return strtr($message, $replacements);
}

API Navigation

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