Laravel 4 内で登録されたルート パスを使用して配列を作成する方法を見つけたいと思っていました。
基本的に、私は次のようなリストを取得しようとしています:
/
/login
/join
/password
ルート情報とリソースを含むオブジェクトを返すメソッドに出くわしましたRoute::getRoutes()
が、パス情報は保護されており、情報に直接アクセスすることはできません。
これを達成する他の方法はありますか?もしかして違う方法?
Laravel 4 内で登録されたルート パスを使用して配列を作成する方法を見つけたいと思っていました。
基本的に、私は次のようなリストを取得しようとしています:
/
/login
/join
/password
ルート情報とリソースを含むオブジェクトを返すメソッドに出くわしましたRoute::getRoutes()
が、パス情報は保護されており、情報に直接アクセスすることはできません。
これを達成する他の方法はありますか?もしかして違う方法?
Route::getRoutes()
を返しますRouteCollection
。$route->getPath()
各要素で、現在のルートのパスを簡単に取得できます。
保護された各パラメーターは、標準の getter で取得できます。
ループは次のように機能します。
$routeCollection = Illuminate\Support\Facades\Route::getRoutes();
foreach ($routeCollection as $value) {
echo $value->getPath();
}
Laravel 5の場合、artisanコマンドを使用できます
php artisan route:list
の代わりにphp artisan routes
。
各ルートとそれぞれの詳細を 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>";
});