[Symfony] Getting the request referrer

Published on 2019-11-20 • Modified on 2019-11-20

It's a widespread need to have to get the referrer of the current request. Of course, it can be done via the Symfony request value object. But it's not so obvious to find. If you came here because you want to know the route name of the referrer you get, you should have a look at this snippet 😉.
[Fun fact] As you can see, the HTTP "referer" header field is misspelt.

<?php declare(strict_types=1);

namespace App\Controller\Snippet;

use Symfony\Component\HttpFoundation\Request;

 * I am using a PHP trait to isolate each snippet in a file.
 * This code should be called from a Symfony controller extending AbstractController (as of Symfony 4.2)
 * or Symfony\Bundle\FrameworkBundle\Controller\Controller (Symfony <= 4.1).
 * Services are injected in the main controller constructor.
trait Snippet57Trait
    public function snippet57(Request $request): void
        // If you hit the run button, the referer will be the URL of this snippet.

        echo $request->headers->get('referer'); // That's it! 😁

 Run this snippet  More on Stackoverflow  More on the web  Random snippet