public function respond($method, $path = '*', $callback = null)
    {
        // Get the arguments in a very loose format
        extract(
            $this->parseLooseArgumentOrder(func_get_args()),
            EXTR_OVERWRITE
        );

        $route = $this->route_factory->build($callback, $path, $method);

        $this->routes->add($route);

        return $route;
    }
public function respond($method, $path = '*', $callback = null)
    {
        // Get the arguments in a very loose format
        extract(
            $this->parseLooseArgumentOrder(func_get_args()),
            EXTR_OVERWRITE
        );

        $route = $this->route_factory->build($callback, $path, $method);

        $this->routes->add($route);

        return $route;
    }
public function respond ( $ method , $ path = '*' , $ callback = null ) { // Get the arguments in a very loose format extract ( $ this -> parseLooseArgumentOrder ( func_get_args ( ) ) , EXTR_OVERWRITE ) ; $ route = $ this -> route_factory -> build ( $ callback , $ path , $ method ) ; $ this -> routes -> add ( $ route ) ; return $ route ; }
Add a new route to be matched on dispatch

Essentially, this method is a standard "Route" builder/factory,
allowing a loose argument format and a standard way of creating
Route instances

This method takes its arguments in a very loose format
The only "required" parameter is the callback (which is very strange considering the argument definition order)

<code>
$router = new Klein();

$router->respond( function() {
echo 'this works';
});
$router->respond( '/endpoint', function() {
echo 'this also works';
});
$router->respond( 'POST', '/endpoint', function() {
echo 'this also works!!!!';
});
</code>

@param string|array $method    HTTP Method to match
@param string $path              Route URI path to match
@param callable $callback        Callable callback method to execute on route match
@return Route
Add a new route to be matched on dispatch