public function route(Request $request) {
        $httpMethod = $request->getMethod();

        if ($httpMethod === 'BREW') {
            throw new RuntimeException('I\'m a teapot!', 418);
        }

        if (!isset(self::$supportedHttpMethods[$httpMethod])) {
            throw new RuntimeException('Unsupported HTTP method: ' . $httpMethod, 501);
        }

        $path = $request->getPathInfo();
        $matches = [];

        foreach ($this->routes as $resourceName => $route) {
            if (preg_match($route, $path, $matches)) {
                break;
            }
        }

        // Path matched no route
        if (!$matches) {
            throw new RuntimeException('Not Found', 404);
        }

        // Create and populate a route instance that we want to inject into the request
        $route = new Route();
        $route->setName($resourceName);

        // Inject all matches into the route as parameters
        foreach ($matches as $key => $value) {
            if (is_string($key)) {
                $route->set($key, $value);
            }
        }

        // Store the route in the request
        $request->setRoute($route);
    }
public function route(Request $request) {
        $httpMethod = $request->getMethod();

        if ($httpMethod === 'BREW') {
            throw new RuntimeException('I\'m a teapot!', 418);
        }

        if (!isset(self::$supportedHttpMethods[$httpMethod])) {
            throw new RuntimeException('Unsupported HTTP method: ' . $httpMethod, 501);
        }

        $path = $request->getPathInfo();
        $matches = [];

        foreach ($this->routes as $resourceName => $route) {
            if (preg_match($route, $path, $matches)) {
                break;
            }
        }

        // Path matched no route
        if (!$matches) {
            throw new RuntimeException('Not Found', 404);
        }

        // Create and populate a route instance that we want to inject into the request
        $route = new Route();
        $route->setName($resourceName);

        // Inject all matches into the route as parameters
        foreach ($matches as $key => $value) {
            if (is_string($key)) {
                $route->set($key, $value);
            }
        }

        // Store the route in the request
        $request->setRoute($route);
    }
public function route ( Request $ request ) { $ httpMethod = $ request -> getMethod ( ) ; if ( $ httpMethod === 'BREW' ) { throw new RuntimeException ( 'I\'m a teapot!' , 418 ) ; } if ( ! isset ( self :: $ supportedHttpMethods [ $ httpMethod ] ) ) { throw new RuntimeException ( 'Unsupported HTTP method: ' . $ httpMethod , 501 ) ; } $ path = $ request -> getPathInfo ( ) ; $ matches = [ ] ; foreach ( $ this -> routes as $ resourceName => $ route ) { if ( preg_match ( $ route , $ path , $ matches ) ) { break ; } } // Path matched no route if ( ! $ matches ) { throw new RuntimeException ( 'Not Found' , 404 ) ; } // Create and populate a route instance that we want to inject into the request $ route = new Route ( ) ; $ route -> setName ( $ resourceName ) ; // Inject all matches into the route as parameters foreach ( $ matches as $ key => $ value ) { if ( is_string ( $ key ) ) { $ route -> set ( $ key , $ value ) ; } } // Store the route in the request $ request -> setRoute ( $ route ) ; }
Route the current request

@param Request $request The current request
Route the current request