Je suis conscient que dans les versions précédentes de Laravel (par exemple 4), on pouvait obtenir l'URI actuel via
Route::current()->uri();
Cependant, cela ne semble pas fonctionner dans Laravel 5.7 ou version ultérieure . Je me demande comment il devrait être réécrit. Veuillez noter que j'accède à l'URI dans une vue en lame et que je ne peux donc pas utiliser de méthodes non statiques.
3 Réponses :
Cela devrait toujours fonctionner - mais cela peut ne pas fonctionner comme prévu si le chemin actuel n'est pas nommé. Vous devriez probablement à la place obtenir le chemin de la requête.
Request::root(); Request::url(); Request::fullUrl(); Request::fullUrlWithQuery();
Cela vérifie probablement également l'API de l'instance de requête car il existe un certain nombre de méthodes connexes que vous pouvez appeler.
Request::path();
public function yourMethod(Request $request) { return view('your-view', [ 'current-uri' => $request->route()->uri() ]); } Documentation
Oui, mais je ne peux pas appeler url () -> current () -> uri ()
.
Vous pouvez obtenir l'URL actuelle dans laravel en utilisant les méthodes suivantes.
use Illuminate\Support\Facades\URL; echo URL::current();
Chacune de ces méthodes est également accessible via la façade URL:
// Get the current URL without the query string... echo url()->current(); // Get the current URL including the query string... echo url()->full(); // Get the full URL for the previous request... echo url()->previous();
Pour plus d'informations, vous pouvez lire la documentation complète ici .
URI est un terme plus générique qui couvre les URL (y compris d'autres choses). Dans le contexte d'une page Web, il n'y a pas de différence entre l'URI et l'URL