URL de la page actuelle, avec ou sans le nom de domaine, sous Laravel

Dans une application Web, il est intéressant de connaître l'URL de la page actuelle dans de nombreux contextes. On pourrait, par exemple, retrouver l'information à afficher sur une page statique à partir d'un enregistrement dans la table pages, identifier visuellement l'option de menu qui correspond à la page actuelle, retenir sur quelle page on est dans le but d'y revenir après une opération donnée, etc.

▼Publicité

URL de la page actuelle

Plusieurs techniques permettent de retrouver l'URL de la page actuelle.

Ex :

Contrôleur Laravel (PHP)

$pageActuelle = url()->current();

Sur la page d'accueil, la variable $pageActuelle aura la valeur http://mondomaine.com. Si on est placé sur la page de contact, elle contiendra http://mondomaine.com/contact.

Il est également possible de travailler avec la variable $request injectée.

On obtiendra le même résultat comme suit :

Contrôleur Laravel (PHP)

public function contact(Request $request) : View

{

    ...

    $pageActuelle = $request->url();

    ...

}

URL de la page actuelle sans le nom de domaine

Certaines situations demandent à ce que l'URL soit retrouvé sans le nom de domaine. Ce serait le cas, par exemple, lorsqu'on désire enregistrer l'URL de la page actuelle dans une table de commentaires.

Ex :

Contrôleur Laravel (PHP)

$urlRelatif = Route::getCurrentRoute()->uri();

Sur la page d'accueil, la variable $urlRelatif vaudra /. Sur la page http://mondomaine.com/contact, elle contiendra la valeur contact.

Notez qu'avant Laravel 5.4, la méthode uri() s'appelait getPath().

Il est également possible de travailler avec la variable $request injectée. On obtiendra le même résultat comme suit :

Contrôleur Laravel (PHP)

public function contact(Request $request) : View

{

    ...

    $urlRelatif = $request->path();

    ...

}

Catégories