0

我在「應用程序\ HTPP \控制器」目錄中的小組命名空間下的控制器, 所以我的命名空間爲:應用程序\ HTTP \控制器\面板掃描航線Laravel註釋

我overrided的routeScans( )像下面的功能,但沒有幫助!

public function routeScans() { 
    $classes = parent::routeScans(); 

    $classes = array_merge(
     $classes, 
     $this->getClassesFromNamespace('App\Http\Controllers\Panel') 
    ); 

    return $classes; 
    } 

我該如何掃描他們的路線?

+0

你是詢問[Laravel命名空間路由(https://laravel.com /docs/5.3/routing#route-group-namespaces)? – Anish

+0

@Anish不!我正在使用這個集合:https://laravelcollective.com/docs/5.1/annotations –

回答

0

我創建了一個功能列出這樣的所有可用路由,您可以使用它,並修改根據自己的需要

function routelist() { 
     $allRoutes = Route::getRoutes()->getRoutes(); 
     $availableRoutes = []; 
     foreach ($allRoutes as $route) { 
      $availableRoutes['availableAPI'][$route->getName()] = [ 
       'method' => $route->getMethods()[0], 
       "uri" => $route->getUri(), 
       "name" => $route->getName(), 
       "controller" => $route->getAction()['uses'], 
      ]; 
     } 

     $table = "<table>"; 
     foreach ($availableRoutes['availableAPI'] as $key => $entry) { 
      //dd($entry['controller']); 
      $table .= "<tr>"; 
      $table .= "<td>" . @$entry['method'] . "</td>"; 
      $table .= "<td>" . @$entry['uri'] . "</td>"; 
      $table .= "<td>" . @$entry['name'] . "</td>"; 

      if (is_string($entry['controller'])) { 
       $table .= "<td>" . @$entry['controller'] . "</td>"; 
      } else { 
       $table .= "<td>closure function(){}</td>"; 
      } 
      $table .= "</tr>"; 
     } 
     $table .= "</table>"; 
     return $table; 
    }