如果在要查找的路径中使用相同的控制器,则可以执行以下操作:
$routeCollection = \Route::getRoutes();
foreach ($routeCollection as $value) {
$lookFor = 'UserController';
$controller = $value->getAction();
$controller = $controller['controller'];
if (strpos($controller, $lookFor)) {
echo "This route uses UserController controller ";
}
echo $value->getPath()."
";
}
嗯,你明白了.您可以使用相同的方法在Route :: getRoutes()集合中搜索任何其他信息.
更新:
如果你想获取所有使用UserController的路由,你可以这样做:
$routeCollection = \Route::getRoutes();
$userRoutesArray = [];
foreach ($routeCollection as $value) {
$lookFor = 'UserController';
$controller = $value->getAction();
if(isset($controller['controller'])){
$controller = $controller['controller'];
}else{
continue;
}
if (strpos($controller, $lookFor)) {
array_push($userRoutesArray, $value->getPath();
}
}
然后你可以用for或foreach迭代它.