public function __construct(Route $route) { $this->setVars($route->getVars()); $this->setRequest($route->getRequest()); $this->setConfig($route->getConfig()); $this->setName($route->getName()); $this->setIsNotFound($route->isNotFound()); $this->setUriPattern($route->getUriPattern()); foreach ($this->_systemPatterns as $varName => $params) { $value = $route->getVar($varName, $params[0]); if (!empty($params[2])) { $value = call_user_func($params[2], $value); } $this->_systemVars[$varName . 'name'] = str_replace('{name}', $value, $params[1]); } }