palmtreephp /
canonical-url-bundle
| 1 | <?php |
||||
| 2 | |||||
| 3 | namespace Palmtree\CanonicalUrlBundle\Twig\Extension; |
||||
| 4 | |||||
| 5 | use Palmtree\CanonicalUrlBundle\Service\CanonicalUrlGenerator; |
||||
| 6 | use Symfony\Component\HttpFoundation\RequestStack; |
||||
| 7 | |||||
| 8 | class CanonicalLinkExtension extends \Twig_Extension |
||||
|
0 ignored issues
–
show
Deprecated Code
introduced
by
Loading history...
|
|||||
| 9 | { |
||||
| 10 | /** @var CanonicalUrlGenerator */ |
||||
| 11 | private $canonicalUrlGenerator; |
||||
| 12 | /** @var RequestStack */ |
||||
| 13 | private $requestStack; |
||||
| 14 | |||||
| 15 | /** |
||||
| 16 | * CanonicalLinkExtension constructor. |
||||
| 17 | * |
||||
| 18 | * @param CanonicalUrlGenerator $canonicalUrlGenerator |
||||
| 19 | * @param RequestStack $requestStack |
||||
| 20 | */ |
||||
| 21 | 3 | public function __construct(CanonicalUrlGenerator $canonicalUrlGenerator, RequestStack $requestStack) |
|||
| 22 | { |
||||
| 23 | 3 | $this->canonicalUrlGenerator = $canonicalUrlGenerator; |
|||
| 24 | 3 | $this->requestStack = $requestStack; |
|||
| 25 | 3 | } |
|||
| 26 | |||||
| 27 | /** |
||||
| 28 | * @return \Twig_Function[] |
||||
| 29 | */ |
||||
| 30 | 1 | public function getFunctions() |
|||
| 31 | { |
||||
| 32 | return [ |
||||
|
0 ignored issues
–
show
|
|||||
| 33 | 1 | new \Twig_SimpleFunction('palmtree_canonical_url', [$this, 'generateUrl']), |
|||
|
0 ignored issues
–
show
The class
Twig_SimpleFunction has been deprecated: since Twig 2.7, use "Twig\TwigFunction" instead
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
Loading history...
|
|||||
| 34 | 1 | new \Twig_SimpleFunction('palmtree_canonical_link_tag', [$this, 'renderLinkTag'], [ |
|||
|
0 ignored issues
–
show
The class
Twig_SimpleFunction has been deprecated: since Twig 2.7, use "Twig\TwigFunction" instead
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
Loading history...
|
|||||
| 35 | 1 | 'needs_environment' => true, |
|||
| 36 | 'is_safe' => ['html'], |
||||
| 37 | ]), |
||||
| 38 | ]; |
||||
| 39 | } |
||||
| 40 | |||||
| 41 | /** |
||||
| 42 | * @param \Twig_Environment $environment |
||||
| 43 | * @param string $href |
||||
| 44 | * |
||||
| 45 | * @return string |
||||
| 46 | */ |
||||
| 47 | 1 | public function renderLinkTag(\Twig_Environment $environment, $href = null) |
|||
| 48 | { |
||||
| 49 | 1 | $output = $environment->render('@PalmtreeCanonicalUrl/canonical_link_tag.html.twig', [ |
|||
| 50 | 1 | 'href' => $href, |
|||
| 51 | ]); |
||||
| 52 | |||||
| 53 | 1 | return $output; |
|||
| 54 | } |
||||
| 55 | |||||
| 56 | /** |
||||
| 57 | * @param string $route |
||||
| 58 | * @param string|array $parameters |
||||
| 59 | * |
||||
| 60 | * @see CanonicalUrlGenerator::generate() For parameter descriptions. |
||||
| 61 | * |
||||
| 62 | * @return string |
||||
| 63 | */ |
||||
| 64 | 2 | public function generateUrl($route = null, $parameters = []) |
|||
| 65 | { |
||||
| 66 | 2 | if (\func_num_args() === 0) { |
|||
| 67 | 1 | $request = $this->requestStack->getCurrentRequest(); |
|||
| 68 | |||||
| 69 | 1 | $route = $request->attributes->get('_route'); |
|||
| 70 | 1 | $parameters = $request->attributes->get('_route_params'); |
|||
| 71 | } |
||||
| 72 | |||||
| 73 | 2 | return $this->canonicalUrlGenerator->generate($route, $parameters); |
|||
| 74 | } |
||||
| 75 | } |
||||
| 76 |