您好我正在尝试这样做,但它获取了所有路线,我只想要来自特定群组的路线。
这是我的代码:
<?php
$routes = Routes::getRoutes();
@foreach($routes as $route)
{{ $route->getPath() }}
@endforeach`
提前致谢!
答案 0 :(得分:3)
// 让我们有一些没有任何团体的路线
Route::get('/', function () {
return view('welcome');
});
Route::get('/load', 'defaultController@load');
// 现在创建一些包含
的路线Route::group(['as' => 'admin'], function () {
Route::get('users', function () {
return "users route";
});
Route::get('ravi', function () {
return "ravi route";
});
// 现在我们要在这个组中创建一个寻找的路由 //管理员组并打印所有路线的人。
Route::get('kumar', function () {
$name = 'admin';
$routeCollection = Route::getRoutes(); // RouteCollection object
$routes = $routeCollection->getRoutes(); // array of route objects
// 现在在我们的路由对象中,我们将通过过滤来查找我们的命名路由 //数组。
$grouped_routes = array_filter($routes, function($route) use ($name) {
$action = $route->getAction(); // getting route action
if (isset($action['as'])) {
// for the first level groups, $action['as']
//will be a string
// for nested groups, $action['as'] will be an array
if (is_array($action['as'])) {
return in_array($name, $action['as']);
} else {
return $action['as'] == $name;
}
}
return false;
});
// let's print the array containing the route objects in the 'admin' group
dd($grouped_routes);
});
});
// **只需将其复制并粘贴到路径文件夹中即可通过点击your_project_public_folder_url / kumar **来查看输出
//我从这个答案中获得了帮助Answer of patricus