Каждая переменная в маршруте может иметь значение по умолчанию.
Для того, чтобы определить его, нужно добавить третий параметр в
методе addRoute
. Этот третий параметр является массивом
с ключами в качестве имен переменных и значениями в качестве задаваемых
по умолчанию.
$router->addRoute('archive', 'archive/:year', array('year' => 2006));
Что может быть не очевидным, так это то, что приведенный выше маршрут
будет соответствовать таким URL-ам, как
http://example.com/archive/2005
и
http://example.com/archive
. В последнем случае переменная
year
будет иметь значение 2006
.
В приведенном выше примере мы не установили контроллер, поэтому
это всегда будет иметь результатом действие noRoute
в
контроллере IndexController
. Чтобы сделать его пригодным
к применению, нужно установить действующие контроллер и действие по умолчанию:
$router->addRoute('archive', 'archive/:year', array('year' => 2006, 'controller' => 'archive', 'action' => 'show'));