vista una rutas ruta route pasar parametros enviar datos controladores controlador con arrays laravel laravel-4 laravel-routing

arrays - route - ¿Cómo obtener una lista de rutas de ruta registradas en Laravel?



rutas y controladores en laravel (9)

Esperaba encontrar una forma de crear una matriz con las rutas de rutas registradas dentro de Laravel 4.

Esencialmente, estoy buscando obtener una lista como esta:

/ /login /join /password

Me encontré con un método Route::getRoutes() que devuelve un objeto con la información de las rutas, así como los recursos, pero la información de la ruta está protegida y no tengo acceso directo a la información.

¿Hay alguna otra forma de lograr esto? Tal vez un método diferente?



Creé una ruta que listará cada ruta y sus respectivos detalles en una tabla html.

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->getMethods()[0] . "</td>"; echo "<td>" . $value->getPath() . "</td>"; echo "<td>" . $value->getName() . "</td>"; echo "<td>" . $value->getActionName() . "</td>"; echo "</tr>"; } echo "</table>"; });


Para Laravel 5, puedes usar el comando artesanal

php artisan route:list lugar de php artisan routes .


Puede usar el comando de la consola:

php artisan routes

Ayudantes:

Usage: routes [--name[="..."]] [--path[="..."]] Options: --name Filter the routes by name. --path Filter the routes by path. --help (-h) Display this help message. --quiet (-q) Do not output any message. --verbose (-v|vv|vvv) Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug --version (-V) Display this application version. --ansi Force ANSI output. --no-ansi Disable ANSI output. --no-interaction (-n) Do not ask any interactive question. --env The environment the command should run under.


Una mejor forma de hacerlo legible es registrar una ruta e imprimirla en el navegador web con la salida artesanal directamente

Route::get(''routes'', function() { /Artisan::call(''route:list''); return /Artisan::output(); });


si compiló rutas como / login / {id} y solo quiere el prefijo:

foreach (Route::getRoutes() as $route) { $compiled = $route->getCompiled(); if(!is_null($compiled)) { var_dump($compiled->getStaticPrefix()); } }


Route::getRoutes() devuelve un RouteCollection . En cada elemento, puede hacer un simple $route->getPath() para obtener la ruta de acceso de la ruta actual.

Cada parámetro protegido se puede obtener con un getter estándar.

Looping funciona así:

$routeCollection = Route::getRoutes(); foreach ($routeCollection as $value) { echo $value->getPath(); }


$routeList = Route::getRoutes(); foreach ($routeList as $value) { echo $value->uri().''<br>''; }

use Illuminate / Support / Facades / Route;

En Laravel 5.4, funciona, 100%


//Laravel >= 5.4 //Controller index() $app = app(); $routes = $app->routes->getRoutes(); return view (''Admin::routes.index'',compact(''routes'')); //view <table id="routes-table" class="table table-bordered table-responsive"> <thead> <tr> <th>uri</th> <th>Name</th> <th>Type</th> <th>Method</th> </tr> </thead> <tbody> @foreach ($routes as $route ) <tr> <td>{{$route->uri}}</td> <td>{{$route->getName()}}</td> <td>{{$route->getPrefix()}}</td> <td>{{$route->getActionMethod()}}</td> </tr> @endforeach </tbody> </table>