5.4. Значения переменных по умолчанию

Каждая переменная в маршруте может иметь значение по умолчанию. Для того, чтобы определить его, нужно добавить третий параметр в методе 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'));