Security update for Core, with self-updated composer
[yaffs-website] / web / core / lib / Drupal / Core / Routing / LinkGeneratorTrait.php
1 <?php
2
3 namespace Drupal\Core\Routing;
4
5 use Drupal\Core\Url;
6 use Drupal\Core\Utility\LinkGeneratorInterface;
7
8 /**
9  * Wrapper methods for the Link Generator.
10  *
11  * This utility trait should only be used in application-level code, such as
12  * classes that would implement ContainerInjectionInterface. Services registered
13  * in the Container should not use this trait but inject the appropriate service
14  * directly for easier testing.
15  *
16  * @deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0.
17  *   Use \Drupal\Core\Link instead.
18  *
19  * @see https://www.drupal.org/node/2614344
20  */
21 trait LinkGeneratorTrait {
22
23   /**
24    * The link generator.
25    *
26    * @var \Drupal\Core\Utility\LinkGeneratorInterface
27    */
28   protected $linkGenerator;
29
30   /**
31    * Renders a link to a route given a route name and its parameters.
32    *
33    * For details on the arguments, usage, and possible exceptions see
34    * \Drupal\Core\Utility\LinkGeneratorInterface::generate().
35    *
36    * @return \Drupal\Core\GeneratedLink
37    *   A GeneratedLink object containing a link to the given route and
38    *   parameters and bubbleable metadata.
39    *
40    * @deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0.
41    *   Use \Drupal\Core\Link instead.
42    *
43    * @see https://www.drupal.org/node/2614344
44    * @see \Drupal\Core\Utility\LinkGeneratorInterface::generate()
45    */
46   protected function l($text, Url $url) {
47     return $this->getLinkGenerator()->generate($text, $url);
48   }
49
50   /**
51    * Returns the link generator.
52    *
53    * @return \Drupal\Core\Utility\LinkGeneratorInterface
54    *   The link generator
55    */
56   protected function getLinkGenerator() {
57     if (!isset($this->linkGenerator)) {
58       $this->linkGenerator = \Drupal::service('link_generator');
59     }
60     return $this->linkGenerator;
61   }
62
63   /**
64    * Sets the link generator service.
65    *
66    * @param \Drupal\Core\Utility\LinkGeneratorInterface $generator
67    *   The link generator service.
68    *
69    * @return $this
70    */
71   public function setLinkGenerator(LinkGeneratorInterface $generator) {
72     $this->linkGenerator = $generator;
73
74     return $this;
75   }
76
77 }