Version 1
[yaffs-website] / web / core / lib / Drupal / Component / DependencyInjection / Dumper / PhpArrayDumper.php
diff --git a/web/core/lib/Drupal/Component/DependencyInjection/Dumper/PhpArrayDumper.php b/web/core/lib/Drupal/Component/DependencyInjection/Dumper/PhpArrayDumper.php
new file mode 100644 (file)
index 0000000..a6fa2b9
--- /dev/null
@@ -0,0 +1,72 @@
+<?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;
+  }
+
+}