Nette\DI\PhpGenerator::formatPhp PHP Метод

formatPhp() публичный Метод

Formats PHP statement.
public formatPhp ( $statement, $args ) : string
Результат string
    public function formatPhp($statement, $args)
    {
        array_walk_recursive($args, function (&$val) {
            if ($val instanceof Statement) {
                $val = new PhpLiteral($this->formatStatement($val));
            } elseif (is_string($val) && substr($val, 0, 2) === '@@') {
                // escaped text @@
                $val = substr($val, 1);
            } elseif (is_string($val) && substr($val, 0, 1) === '@' && strlen($val) > 1) {
                // service reference
                $name = substr($val, 1);
                if ($name === ContainerBuilder::THIS_CONTAINER) {
                    $val = new PhpLiteral('$this');
                } elseif ($name === $this->currentService) {
                    $val = new PhpLiteral('$service');
                } else {
                    $val = new PhpLiteral($this->formatStatement(new Statement(['@' . ContainerBuilder::THIS_CONTAINER, 'getService'], [$name])));
                }
            }
        });
        return PhpHelpers::formatArgs($statement, $args);
    }