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; 
    }