public static function connect($template, $params = [], $options = []) {
		if (is_array($options) && isset($options['scope'])) {
			$name = $options['scope'];
		} else {
			$name = static::$_scope;
		}
		if (is_object($template)) {
			return (static::$_configurations[$name][] = $template);
		}
		if (is_string($params)) {
			$params = static::_parseString($params, false);
		}
		if (isset($params[0]) && is_array($tmp = static::_parseString($params[0], false))) {
			unset($params[0]);
			$params = $tmp + $params;
		}
		$params = static::_parseController($params);
		if (is_callable($options)) {
			$options = ['handler' => $options];
		}
		$config = compact('template', 'params') + $options + [
			'formatters' => static::formatters(),
			'modifiers' => static::modifiers(),
			'unicode' => static::$_unicode
		];
		return (static::$_configurations[$name][] = static::_instance('route', $config));
	}
public static function connect($template, $params = [], $options = []) {
		if (is_array($options) && isset($options['scope'])) {
			$name = $options['scope'];
		} else {
			$name = static::$_scope;
		}
		if (is_object($template)) {
			return (static::$_configurations[$name][] = $template);
		}
		if (is_string($params)) {
			$params = static::_parseString($params, false);
		}
		if (isset($params[0]) && is_array($tmp = static::_parseString($params[0], false))) {
			unset($params[0]);
			$params = $tmp + $params;
		}
		$params = static::_parseController($params);
		if (is_callable($options)) {
			$options = ['handler' => $options];
		}
		$config = compact('template', 'params') + $options + [
			'formatters' => static::formatters(),
			'modifiers' => static::modifiers(),
			'unicode' => static::$_unicode
		];
		return (static::$_configurations[$name][] = static::_instance('route', $config));
	}
public static function connect ( $ template , $ params = [ ] , $ options = [ ] ) { if ( is_array ( $ options ) && isset ( $ options [ 'scope' ] ) ) { $ name = $ options [ 'scope' ] ; } else { $ name = static :: $ _scope ; } if ( is_object ( $ template ) ) { return ( static :: $ _configurations [ $ name ] [ ] = $ template ) ; } if ( is_string ( $ params ) ) { $ params = static :: _parseString ( $ params , false ) ; } if ( isset ( $ params [ 0 ] ) && is_array ( $ tmp = static :: _parseString ( $ params [ 0 ] , false ) ) ) { unset ( $ params [ 0 ] ) ; $ params = $ tmp + $ params ; } $ params = static :: _parseController ( $ params ) ; if ( is_callable ( $ options ) ) { $ options = [ 'handler' => $ options ] ; } $ config = compact ( 'template' , 'params' ) + $ options + [ 'formatters' => static :: formatters ( ) , 'modifiers' => static :: modifiers ( ) , 'unicode' => static :: $ _unicode ] ; return ( static :: $ _configurations [ $ name ] [ ] = static :: _instance ( 'route' , $ config ) ) ; }
Connects a new route and returns the current routes array. This method creates a new
`Route` object and registers it with the `Router`. The order in which routes are connected
matters, since the order of precedence is taken into account in parsing and matching
operations.

A callable can be passed in place of `$options`. In this case the callable acts as a *route
handler*. Route handlers should return an instance of `lithium\net\http\Response`
and can be used to short-circuit the framework's lookup and invocation of controller
actions:
```
Router::connect('/photos/{:id:[0-9]+}.jpg', [], function($request) {
return new Response([
'headers' => ['Content-type' => 'image/jpeg'],
'body' => Photos::first($request->id)->bytes()
]);
});
```

@see lithium\net\http\Route
@see lithium\net\http\Route::$_handler
@see lithium\net\http\Router::parse()
@see lithium\net\http\Router::match()
@see lithium\net\http\Router::_parseString()
@see lithium\net\http\Response
@param string|object $template An empty string, a route string `/` or an
instance of `lithium\net\http\Route`.
@param array|string $params An array describing the default or required elements of
the route or alternatively a path string i.e. `Posts::index`.
@param array|callable $options Either an array of options (`'handler'`, `'formatters'`,
`'modifiers'`, `'unicode'` as well as any options for `Route`) or
a callable that will be used as a route handler.
@return \lithium\net\http\Route Instance of the connected route.
Connects a new route and returns the current routes array . This method creates a new Route object and registers it with the Router . The order in which routes are connected matters since the order of precedence is taken into account in parsing and matching operations .