0

我在“App\Htpp\Controllers”目录的 Panel 命名空间下有控制器,所以我的命名空间是:App\Http\Controllers\Panel

我重写了如下所示的 routeScans() 函数,但没有帮助!

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

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

     return $classes;
   }

我怎样才能扫描他们的路线?

4

1 回答 1

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;
    }
于 2016-10-24T01:32:56.370 回答