/** * {@inheritdoc} * * @todo Use combined arguments parser when it will be implemented in * Handlebars.php. */ public function execute(Template $template, Context $context, $args, $source) { $named_args = $template->parseNamedArguments($args); $positional_args = $template->parseArguments($args); $route_name = (string) $context->get($positional_args[0]); $parameters = array(); foreach ($named_args as $name => $parsed_arg) { $parameters[$name] = $context->get($parsed_arg); } return $this->getRouter()->generate($route_name, $parameters); }