private function PhpDumper::exportParameters

Exports parameters.

Parameters

array $parameters:

string $path:

integer $indent:

Return value

string

1 call to PhpDumper::exportParameters()
PhpDumper::addDefaultParametersMethod in drupal/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
Adds default parameters method.

File

drupal/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php, line 817

Class

PhpDumper
PhpDumper dumps a service container as a PHP class.

Namespace

Symfony\Component\DependencyInjection\Dumper

Code

private function exportParameters($parameters, $path = '', $indent = 12) {
  $php = array();
  foreach ($parameters as $key => $value) {
    if (is_array($value)) {
      $value = $this
        ->exportParameters($value, $path . '/' . $key, $indent + 4);
    }
    elseif ($value instanceof Variable) {
      throw new InvalidArgumentException(sprintf('You cannot dump a container with parameters that contain variable references. Variable "%s" found in "%s".', $value, $path . '/' . $key));
    }
    elseif ($value instanceof Definition) {
      throw new InvalidArgumentException(sprintf('You cannot dump a container with parameters that contain service definitions. Definition for "%s" found in "%s".', $value
        ->getClass(), $path . '/' . $key));
    }
    elseif ($value instanceof Reference) {
      throw new InvalidArgumentException(sprintf('You cannot dump a container with parameters that contain references to other services (reference to service "%s" found in "%s").', $value, $path . '/' . $key));
    }
    else {
      $value = var_export($value, true);
    }
    $php[] = sprintf('%s%s => %s,', str_repeat(' ', $indent), var_export($key, true), $value);
  }
  return sprintf("array(\n%s\n%s)", implode("\n", $php), str_repeat(' ', $indent - 4));
}