La fonction url() sous Laravel

La fonction d'aide url() permet d'obtenir un URL absolu (donc un URL qui inclut le nom de domaine).

On peut l'utiliser de différentes façons :

  • On peut lui passer en paramètre un URL relatif, qu'elle transformera en URL absolu.
  • On peut la faire suivre par une autre fonction pour obtenir des informations précices.
  • On peut l'appliquer à un objet de type Illuminate\Http\Request pour obtenir l'URL de la page actuelle.

▼Publicité

Avec paramètre

Voici une technique simple pour obtenir l'URL absolu de la page d'accueil :

Contrôleur Laravel (PHP)

$url = url('/');

La variable $url contiendra une chaîne du genre http://mondomaine.com.

Suivi d'une autre fonction

Lorsque la fonction url() ne contient aucun paramètre, une instance de Illuminate\Routing\UrlGenerator est retournée.

Il est possible de la faire suivre par différentes fonctions, par exemple :

  • current() pour trouver l'URL de la page actuelle.

    Contrôleur Laravel (PHP)

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

    On obtiendrait le même résultat avec $request->url().

  • previous() pour trouver l'URL de la page d'avant.

    Contrôleur Laravel (PHP)

    $pagePrecedente = url()->previous();

  • full() pour obtenir l'URL complet de la page actuelle, incluant les paramètres.

    C'est vrai qu'avec un cadre d'application MVC, il est plutôt rare que les URL contiennent des paramètres. La réécriture d'URL fera en sorte que les informations à passer ressembleront plutôt à un dossier, par exemple http://mondomaine.com/produits/4/details.

    Il est tout de même possible de retrouver l'URL complet de la page actuelle, incluant ses paramètres :

    Contrôleur Laravel (PHP)

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

    La variable $pageActuelle prendra une valeur du genre http://mondomaine.com/test?id=3.

    On obtiendrait le même résultat avec $request->fullUrl().

Avec Request

Il est également possible d'obtenir des informations sur l'URL courant en travaillant avec l'objet $request, qui aura été injecté dans la méthode.

Ex :

Contrôleur Laravel (PHP)

public function index(Request $request) : View

{

    ...

    $url = $request->url();

    ...

}

Si l'URL de la page est http://mondomaine.com/produits, la variable $url aura la valeur http://mondomaine.com/produits.

Merci de partager ! Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestShare on StumbleUponEmail this to someone
Catégories