Version 1
[yaffs-website] / web / core / lib / Drupal / Core / Routing / LinkGeneratorTrait.php
diff --git a/web/core/lib/Drupal/Core/Routing/LinkGeneratorTrait.php b/web/core/lib/Drupal/Core/Routing/LinkGeneratorTrait.php
new file mode 100644 (file)
index 0000000..06deb1b
--- /dev/null
@@ -0,0 +1,75 @@
+<?php
+
+namespace Drupal\Core\Routing;
+
+
+use Drupal\Core\Url;
+use Drupal\Core\Utility\LinkGeneratorInterface;
+
+/**
+ * Wrapper methods for the Link Generator.
+ *
+ * This utility trait should only be used in application-level code, such as
+ * classes that would implement ContainerInjectionInterface. Services registered
+ * in the Container should not use this trait but inject the appropriate service
+ * directly for easier testing.
+ *
+ * @deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0.
+ *   Use \Drupal\Core\Link instead.
+ */
+trait LinkGeneratorTrait {
+
+  /**
+   * The link generator.
+   *
+   * @var \Drupal\Core\Utility\LinkGeneratorInterface
+   */
+  protected $linkGenerator;
+
+  /**
+   * Renders a link to a route given a route name and its parameters.
+   *
+   * For details on the arguments, usage, and possible exceptions see
+   * \Drupal\Core\Utility\LinkGeneratorInterface::generate().
+   *
+   * @return \Drupal\Core\GeneratedLink
+   *   A GeneratedLink object containing a link to the given route and
+   *   parameters and bubbleable metadata.
+   *
+   * @deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0.
+   *   Use \Drupal\Core\Link instead.
+   *
+   * @see \Drupal\Core\Utility\LinkGeneratorInterface::generate()
+   */
+  protected function l($text, Url $url) {
+    return $this->getLinkGenerator()->generate($text, $url);
+  }
+
+  /**
+   * Returns the link generator.
+   *
+   * @return \Drupal\Core\Utility\LinkGeneratorInterface
+   *   The link generator
+   */
+  protected function getLinkGenerator() {
+    if (!isset($this->linkGenerator)) {
+      $this->linkGenerator = \Drupal::service('link_generator');
+    }
+    return $this->linkGenerator;
+  }
+
+  /**
+   * Sets the link generator service.
+   *
+   * @param \Drupal\Core\Utility\LinkGeneratorInterface $generator
+   *   The link generator service.
+   *
+   * @return $this
+   */
+  public function setLinkGenerator(LinkGeneratorInterface $generator) {
+    $this->linkGenerator = $generator;
+
+    return $this;
+  }
+
+}