dpp42324 2015-09-20 11:17 采纳率: 100%
浏览 42
已采纳

如何使用Slim Framework 2的自定义路由器?

Trying to get a list of all routes loaded in Slim Framework. Need to know how to use a custom Router class which adds a method to get the protected $routes property.

  • 写回答

1条回答 默认 最新

  • dongqiao9394 2015-09-20 16:08
    关注

    It seems you can override Slim\Slim constructor and set the router that it will use, or you you can name all you routes and then you access the collection with the Slim\Router::getNamedRoutes() method.

    <?php
    $application->get(
        '/api',
        function () use ($application) {
            $routes = [];
            foreach ($application->router()->getNamedRoutes() as $route) {
                $routes[] = $route->getPattern();
            } 
            $application->response->headers->set('Content-Type', 'application/json');
            echo json_encode([
                'total' => count($routes),
                'routes' => $routes
            ]);
        }
    )->name('api');
    

    Which will response with.

    {
        total: 1,
        routes: [
            "/api"
        ]
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?