cakephp-2.0 > Router :: connect()
A AbstractTransport AclBehavior AclComponent AclInterface AclNode AclShell Aco AcoAction ActionsAuthorize ApcEngine ApiShell App AppController AppController AppHelper AppHelper AppModel AppModel AppShell Aro AuthComponent B BadRequestException BakeShell BakeTask BaseAuthenticate BaseAuthorize BasicAuthenticate BasicAuthentication BehaviorCollection C Cache CacheEngine CacheException CacheHelper CacheSession CakeEmail CakeErrorController CakeException CakeLog CakeLogException CakeLogInterface CakePlugin CakeRequest CakeResponse CakeRoute CakeSchema CakeSession CakeSessionException CakeSessionHandlerInterface CakeSocket ClassRegistry CommandListShell Component ComponentCollection ConfigReaderInterface Configure ConfigureException ConnectionManager ConsoleErrorHandler ConsoleException ConsoleInput ConsoleInputArgument ConsoleInputOption ConsoleInputSubcommand ConsoleOptionParser ConsoleOutput ConsoleShell ContainableBehavior Controller ControllerAuthorize ControllerTask CookieComponent CrudAuthorize D DatabaseSession DataSource DbAcl DbAclSchema DbConfigTask DboSource Debugger DebugTransport DigestAuthenticate DigestAuthentication Dispatcher E EmailComponent ErrorHandler ExceptionRenderer ExtractTask F File FileEngine FileLog FixtureTask Folder ForbiddenException FormAuthenticate FormHelper H Helper HelperCollection HelpFormatter HtmlHelper HttpException HttpResponse HttpSocket I I18n I18nModel i18nSchema I18nShell Inflector IniReader InternalErrorException J JqueryEngineHelper JsBaseEngineHelper JsHelper L L10n M MailTransport MediaView MemcacheEngine MethodNotAllowedException MissingActionException MissingBehaviorException MissingComponentException MissingConnectionException MissingControllerException MissingDatabaseException MissingDatasourceConfigException MissingDatasourceException MissingHelperException MissingLayoutException MissingModelException MissingPluginException MissingShellException MissingShellMethodException MissingTableException MissingTaskException MissingTestLoaderException MissingViewException Model ModelBehavior ModelTask MootoolsEngineHelper Multibyte Mysql N NotFoundException NumberHelper O Object ObjectCollection P PagesController PagesController PaginatorComponent PaginatorHelper Permission PhpReader PluginShortRoute PluginTask Postgres PrivateActionException ProjectTask PrototypeEngineHelper R RedirectRoute RequestHandlerComponent Router RouterException RssHelper S Sanitize Scaffold ScaffoldView SchemaShell Security SecurityComponent SessionComponent SessionHelper SessionsSchema Set Shell ShellDispatcher SmtpTransport SocketException Sqlite Sqlserver String T TaskCollection TemplateTask TestsuiteShell TestTask TextHelper ThemeView TimeHelper TranslateBehavior TreeBehavior U UnauthorizedException UpgradeShell V Validation View ViewTask W WincacheEngine X XcacheEngine Xml XmlException

connect

line:233 at /lib/Cake/Routing/Router.php
Connects a new Route in the router.

Method

(array) public connect ($route, $defaults = array(), $options = array())

Parameters

ParameterTypeCommentDefault
$route string required A string describing the template of the route
$defaults array optional An array describing the default route parameters. These parameters will be used by default and can supply routing parameters that are not dynamic. See above. array()
$options array optional An array matching the named elements in the route to regular expressions which that element should match. Also contains additional parameters such as which routed parameters should be shifted into the passed arguments, supplying patterns for routing parameters and supplying the name of a custom routing class. array()

Return

array

Comment

Connects a new Route in the router.

Routes are a way of connecting request urls to objects in your application. At their core routes
are a set or regular expressions that are used to match requests to destinations.

Examples:

`Router::connect('/:controller/:action/*');`

The first parameter will be used as a controller name while the second is used as the action name.
the '/*' syntax makes this route greedy in that it will match requests like `/posts/index` as well as requests
like `/posts/edit/1/foo/bar`.

`Router::connect('/home-page', array('controller' => 'pages', 'action' => 'display', 'home'));`

The above shows the use of route parameter defaults. And providing routing parameters for a static route.

{{{
Router::connect(
'/:lang/:controller/:action/:id',
array(),
array('id' => '[0-9]+', 'lang' => '[a-z]{3}')
);
}}}

Shows connecting a route with custom route parameters as well as providing patterns for those parameters.
Patterns for routing parameters do not need capturing groups, as one will be added for each route params.

$options offers four 'special' keys. `pass`, `named`, `persist` and `routeClass`
have special meaning in the $options array.

`pass` is used to define which of the routed parameters should be shifted into the pass array. Adding a
parameter to pass will remove it from the regular route array. Ex. `'pass' => array('slug')`

`persist` is used to define which route parameters should be automatically included when generating
new urls. You can override persistent parameters by redefining them in a url or remove them by
setting the parameter to `false`. Ex. `'persist' => array('lang')`

`routeClass` is used to extend and change how individual routes parse requests and handle reverse routing,
via a custom routing class. Ex. `'routeClass' => 'SlugRoute'`

`named` is used to configure named parameters at the route level. This key uses the same options
as Router::connectNamed()

@param string $route A string describing the template of the route
@param array $defaults An array describing the default route parameters. These parameters will be used by default
and can supply routing parameters that are not dynamic. See above.
@param array $options An array matching the named elements in the route to regular expressions which that
element should match. Also contains additional parameters such as which routed parameters should be
shifted into the passed arguments, supplying patterns for routing parameters and supplying the name of a
custom routing class.
@see routes
@return array Array of routes
@throws RouterException