Formation PUB030 : Laravel, 2019 Où sommes nous ?

25.1 Page actuelle


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.

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 https://mondomaine.com. Si on est placé sur la page de contact, elle contiendra https://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 https://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();

    ...

}

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre