php (' - Comment obtenir le nom de l'itinéraire actuel dans laravel 5?





') section (13)


Vous pouvez utiliser dans le modèle:

<?php $path = Route::getCurrentRoute()->getPath(); ?>
<?php if (starts_with($path, 'admin/')) echo "active"; ?>

J'essaie d'obtenir le nom de l'itinéraire actuel en utilisant Laravel 5.

En laravel 4 j'ai pu le faire en utilisant Route :: currentRouteName () .

Comment puis-je le faire dans Laravel 5?

Merci




En utilisant Laravel 5.1, vous pouvez utiliser

\Request::route()->getName()



Laravel 5.2 Vous pouvez utiliser

$request->route()->getName()

Il vous donnera le nom actuel de l'itinéraire.




En regardant \Illuminate\Routing\Router.php vous pouvez utiliser la méthode currentRouteNamed() en injectant un routeur dans votre méthode de contrôleur. Par exemple:

use Illuminate\Routing\Router;
public function index(Request $request, Router $router) {
   return view($router->currentRouteNamed('foo') ? 'view1' : 'view2');
}

ou en utilisant la façade Route:

public function index(Request $request) {
   return view(\Route::currentRouteNamed('foo') ? 'view1' : 'view2');
}

Vous pouvez également utiliser la méthode is() pour vérifier si la route est nommée avec l'un des paramètres donnés, mais attention cette méthode utilise preg_match() et je l'ai expérimentée pour provoquer un comportement étrange avec des noms de routes pointés (comme 'foo.bar.done' ). Il y a aussi la question de la performance autour de preg_match() qui est un grand sujet dans la communauté PHP.

public function index(Request $request) {
    return view(\Route::is('foo', 'bar') ? 'view1' : 'view2');
}



Si vous avez besoin d' url , pas de nom de route , vous n'avez pas besoin d'utiliser / exiger d'autres classes:

url()->current();



Request::path(); est meilleur, et n'oubliez pas d' Use Request;




En 5.2, vous pouvez utiliser la requête directement avec:

$request->route()->getName();

ou via la méthode d'assistance:

request()->route()->getName();

Exemple de sortie:

"home.index"



Le chemin le plus court est Route facade \Route::current()->getName()

Cela fonctionne également dans Laravel 5.4. *




Si vous voulez sélectionner le menu sur plusieurs routes, vous pouvez faire comme ceci:

<li class="{{ (Request::is('products/*') || Request::is('products') || Request::is('product/*') ? 'active' : '') }}"><a href="{{url('products')}}"><i class="fa fa-code-fork"></i>&nbsp; Products</a></li>

Ou si vous voulez sélectionner un seul menu, vous pouvez simplement faire comme ceci:

<li class="{{ (Request::is('/users') ? 'active' : '') }}"><a href="{{url('/')}}"><i class="fa fa-envelope"></i>&nbsp; Users</a></li>

Également testé dans Laravel 5.2

J'espère que ça aide quelqu'un.







Trouvé un moyen de trouver le nom de l'itinéraire actuel fonctionne pour laravel v5 , v5.1.28 et v5.2.10

Espace de noms

use Illuminate\Support\Facades\Route;

et

$currentPath= Route::getFacadeRoot()->current()->uri();

Pour Laravel laravel v5.3, vous pouvez simplement utiliser:

use Illuminate\Support\Facades\Route;

Route::currentRouteName();



Dans une action de contrôleur, vous pouvez simplement faire:

public function someAction(Request $request)
{
    $routeName = $request->route()->getName();
}

$request here est résolu par le conteneur de service de Laravel.

getName() renvoie le nom de la route pour les routes nommées seulement, sinon null (mais vous pouvez toujours explorer l'objet \Illuminate\Routing\Route pour quelque chose d'intéressant).

En d'autres termes, vous devez avoir votre itinéraire défini comme ceci pour avoir "nameOfMyRoute" retourné:

Route::get('my/some-action', [
    'as' => 'nameOfMyRoute',
    'uses' => '[email protected]'
]);



Utilisation:

https://www.googleapis.com/youtube/v3/videoCategories?part=snippet,id&maxResults=100&regionCode=us&key=**Your YouTube ID**

Ci-dessus est le lien. Grâce à cela, vous pouvez trouver les caractéristiques des vidéos sur YouTube. Après avoir trouvé les caractéristiques, vous pouvez obtenir des vidéos de la catégorie sélectionnée. Ensuite, vous pouvez trouver les images vidéo sélectionnées à l'aide de la réponse d'Asaph .

Essayez l'approche ci-dessus et vous pouvez tout analyser à partir de l' API YouTube.





php laravel laravel-5 routes current-working-directory