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

Breadcrumb

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

function PhpDumper::doExport

17 calls to PhpDumper::doExport()
PhpDumper::addAliases in vendor/symfony/dependency-injection/Dumper/PhpDumper.php
PhpDumper::addDeprecatedParameters in vendor/symfony/dependency-injection/Dumper/PhpDumper.php
PhpDumper::addFileMap in vendor/symfony/dependency-injection/Dumper/PhpDumper.php
PhpDumper::addInlineReference in vendor/symfony/dependency-injection/Dumper/PhpDumper.php
PhpDumper::addMethodMap in vendor/symfony/dependency-injection/Dumper/PhpDumper.php

... See full list

File

vendor/symfony/dependency-injection/Dumper/PhpDumper.php, line 2240

Class

PhpDumper
PhpDumper dumps a service container as a PHP class.

Namespace

Symfony\Component\DependencyInjection\Dumper

Code

private function doExport(mixed $value, bool $resolveEnv = false) : mixed {
    $shouldCacheValue = $resolveEnv && \is_string($value);
    if ($shouldCacheValue && isset($this->exportedVariables[$value])) {
        return $this->exportedVariables[$value];
    }
    if (\is_string($value) && str_contains($value, "\n")) {
        $cleanParts = explode("\n", $value);
        $cleanParts = array_map(fn($part) => var_export($part, true), $cleanParts);
        $export = implode('."\\n".', $cleanParts);
    }
    else {
        $export = var_export($value, true);
    }
    if ($resolveEnv && "'" === $export[0] && $export !== ($resolvedExport = $this->container
        ->resolveEnvPlaceholders($export, "'.\$container->getEnv('string:%s').'"))) {
        $export = $resolvedExport;
        if (str_ends_with($export, ".''")) {
            $export = substr($export, 0, -3);
            if ("'" === $export[1]) {
                $export = substr_replace($export, '', 23, 7);
            }
        }
        if ("'" === $export[1]) {
            $export = substr($export, 3);
        }
    }
    if ($shouldCacheValue) {
        $this->exportedVariables[$value] = $export;
    }
    return $export;
}
RSS feed
Powered by Drupal