120 votes

Comment obtenir une liste des chemins d'accès enregistrés dans Laravel ?

J'espérais trouver un moyen de créer un tableau avec les chemins d'accès enregistrés dans Laravel 4.

Essentiellement, je cherche à obtenir une liste semblable à celle-ci :

/
/login
/join
/password

Je suis tombé sur une méthode Route::getRoutes() qui renvoie un objet contenant les informations sur les chemins ainsi que les ressources, mais les informations sur les chemins sont protégées et je n'ai pas d'accès direct à ces informations.

Existe-t-il un autre moyen d'y parvenir ? Peut-être une méthode différente ?

1voto

Ilyich Points 648

La commande Console pour ceux qui utilisent Oh-my-zsh con Plugin Laravel 5

la5routes

1voto

KARASZI István Points 15162

Toutes les routes ne sont pas disponibles à tout moment.

Par exemple, si vous voulez obtenir les itinéraires à partir de l'application RouteServiceProvider alors vous devrez peut-être utiliser l'option booted le rappel :

    $this->booted(function () {
        dump(Route::getRoutes());
    }

0voto

Afraz Ahmad Points 1247

Pour Laravel 5.4.* Ce code fonctionne bien.

Route::get('routes', function() {
$routeCollection = Route::getRoutes();

echo "<table style='width:100%'>";
    echo "<tr>";
        echo "<td width='10%'><h4>HTTP Method</h4></td>";
        echo "<td width='10%'><h4>Route</h4></td>";
        echo "<td width='10%'><h4>Name</h4></td>";
        echo "<td width='70%'><h4>Corresponding Action</h4></td>";
    echo "</tr>";
    foreach ($routeCollection as $value) {
        echo "<tr>";
            echo "<td>" . $value->methods()[0] . "</td>";
            echo "<td>" . $value->uri() . "</td>";
            echo "<td>" . $value->getName() . "</td>";
            echo "<td>" . $value->getActionName() . "</td>";
        echo "</tr>";
    }
echo "</table>";
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X