You are here

private function PhpDumper::getNextVariableName in Service Container 7

Same name and namespace in other branches
  1. 7.2 modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php \Symfony\Component\DependencyInjection\Dumper\PhpDumper::getNextVariableName()

Returns the next name to use.

Return value

string

2 calls to PhpDumper::getNextVariableName()
PhpDumper::addServiceInlinedDefinitions in modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
Generates the inline definition of a service.
PhpDumper::addServiceLocalTempVariables in modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
Generates Service local temp variables.

File

modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php, line 1472

Class

PhpDumper
PhpDumper dumps a service container as a PHP class.

Namespace

Symfony\Component\DependencyInjection\Dumper

Code

private function getNextVariableName() {
  $firstChars = self::FIRST_CHARS;
  $firstCharsLength = strlen($firstChars);
  $nonFirstChars = self::NON_FIRST_CHARS;
  $nonFirstCharsLength = strlen($nonFirstChars);
  while (true) {
    $name = '';
    $i = $this->variableCount;
    if ('' === $name) {
      $name .= $firstChars[$i % $firstCharsLength];
      $i = (int) ($i / $firstCharsLength);
    }
    while ($i > 0) {
      --$i;
      $name .= $nonFirstChars[$i % $nonFirstCharsLength];
      $i = (int) ($i / $nonFirstCharsLength);
    }
    ++$this->variableCount;

    // check that the name is not reserved
    if (in_array($name, $this->reservedVariables, true)) {
      continue;
    }
    return $name;
  }
}