PhpArrayDumper.php

Same filename in other branches
  1. 9 core/lib/Drupal/Component/DependencyInjection/Dumper/PhpArrayDumper.php
  2. 8.9.x core/lib/Drupal/Component/DependencyInjection/Dumper/PhpArrayDumper.php
  3. 10 core/lib/Drupal/Component/DependencyInjection/Dumper/PhpArrayDumper.php

Namespace

Drupal\Component\DependencyInjection\Dumper

File

core/lib/Drupal/Component/DependencyInjection/Dumper/PhpArrayDumper.php

View source
<?php

namespace Drupal\Component\DependencyInjection\Dumper;

use Symfony\Component\DependencyInjection\ContainerInterface;

/**
 * PhpArrayDumper dumps a service container as a PHP array.
 *
 * The format of this dumper is a human-readable serialized PHP array, which is
 * very similar to the YAML based format, but based on PHP arrays instead of
 * YAML strings.
 *
 * It is human-readable, for a machine-optimized version based on this one see
 * \Drupal\Component\DependencyInjection\Dumper\OptimizedPhpArrayDumper.
 *
 * @see \Drupal\Component\DependencyInjection\PhpArrayContainer
 */
class PhpArrayDumper extends OptimizedPhpArrayDumper {
    
    /**
     * {@inheritdoc}
     */
    public function getArray() {
        $this->serialize = FALSE;
        return parent::getArray();
    }
    
    /**
     * {@inheritdoc}
     */
    protected function dumpCollection($collection, &$resolve = FALSE) {
        $code = [];
        foreach ($collection as $key => $value) {
            if (is_array($value)) {
                $code[$key] = $this->dumpCollection($value);
            }
            else {
                $code[$key] = $this->dumpValue($value);
            }
        }
        return $code;
    }
    
    /**
     * {@inheritdoc}
     */
    protected function getServiceCall($id, $invalid_behavior = ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE) {
        if ($invalid_behavior !== ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE) {
            return '@?' . $id;
        }
        return '@' . $id;
    }
    
    /**
     * {@inheritdoc}
     */
    protected function getParameterCall($name) {
        return '%' . $name . '%';
    }
    
    /**
     * {@inheritdoc}
     */
    protected function supportsMachineFormat() {
        return FALSE;
    }

}

Classes

Title Deprecated Summary
PhpArrayDumper PhpArrayDumper dumps a service container as a PHP array.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.