2016-02-29 19 views
5

Mam 3 moduły w folderze aplikacji, takie jak: moduł użytkownika, moduł ról i moduł uprawnień. Mam również inny plik route.php w każdym module. Teraz muszę uzyskać listę tras z modułu użytkownika.Jak uzyskać listę tras z modułu/katalogu w Laravel 5?

mam pełną listę ze wszystkimi modułami użyciu tego kodu:

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

zamiast wszystkie trasy, chcę uzyskać listę tras z określonego modułu lub konkretnego katalogu jako moduł obsługi.

Jak uzyskać listę tras dla określonego folderu/modułu/pliku?

+0

@AlexeyMezenin :: na pewno. Przez ostatnie kilka dni nie mogłem pracować. Przeprosiny. –

Odpowiedz

2

Jeśli używasz tego samego kontrolera w trasach chcesz znaleźć można zrobić coś takiego:

$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()."<br>"; 
} 

Cóż, masz pomysł. Możesz użyć tego samego podejścia do wyszukiwania innych informacji w kolekcji Route::getRoutes().

UPDATE:

Jeśli chcesz złapać wszystkie trasy, które wykorzystują UserController, można zrobić coś takiego:

$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(); 
    } 
} 

Następnie można iteracyjne go for lub foreach.

+0

Nie mogłem zrozumieć wiersza "$ controller = $ value-> getAction() ['controller'];" . Czy mógłbyś trochę więcej rozwinąć? –

+0

Spróbowałeś? Jeśli to nie zadziała, wypróbuj '$ action = $ value-> getAction(); $ controller = $ action ['controller']; ' –

+0

Powracający BŁĄD:" Niezdefiniowany indeks: kontroler ". czy mogę coś przeoczyć? $ action = $ value-> getAction(); $ controller = $ action ['controller']; –

Powiązane problemy