92

Laravel 4 内で登録されたルート パスを使用して配列を作成する方法を見つけたいと思っていました。

基本的に、私は次のようなリストを取得しようとしています:

/
/login
/join
/password

ルート情報とリソースを含むオブジェクトを返すメソッドに出くわしましたRoute::getRoutes()が、パス情報は保護されており、情報に直接アクセスすることはできません。

これを達成する他の方法はありますか?もしかして違う方法?

4

13 に答える 13

130

Route::getRoutes()を返しますRouteCollection$route->getPath()各要素で、現在のルートのパスを簡単に取得できます。

保護された各パラメーターは、標準の getter で取得できます。

ループは次のように機能します。

$routeCollection = Illuminate\Support\Facades\Route::getRoutes();

foreach ($routeCollection as $value) {
    echo $value->getPath();
}
于 2013-08-23T05:23:23.737 に答える
30

Laravel 5の場合、artisanコマンドを使用できます

php artisan route:listの代わりにphp artisan routes

于 2015-09-13T12:05:17.990 に答える
26

各ルートとそれぞれの詳細を 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>";
});
于 2014-05-15T08:43:30.673 に答える