Аргумент метода расширения ветки, который не указан в фильтре ветки

Этот код из Symfony Knp-Paginator-расслоение и живет в классе расширения Twig (PaginationExtension.php). Мне интересно (просто любопытство), где второй аргумент SlidingPagination $pagination в методе render () происходит, поскольку этот аргумент не предоставляется в twig. Есть идеи?

/**
* {@inheritDoc}
*/
public function getFunctions()
{
return array(
new \Twig_SimpleFunction('knp_pagination_render', array($this, 'render'), array('is_safe' => array('html'), 'needs_environment' => true))
);
}

/**
* Renders the pagination template
*/
public function render(\Twig_Environment $env, SlidingPagination $pagination, $template = null, array $queryParams = array(), array $viewParams = array())
{
return $env->render(
$template ?: $pagination->getTemplate(),
$this->processor->render($pagination, $queryParams, $viewParams)
);
}

В Twig расширение используется так:

{{ knp_pagination_render(projects) }}

1

Решение

На самом деле SlidingPagination $pagination происходит от projects

в вызове ветки: {{ knp_pagination_render(projects) }}

\Twig_Environment $env вставляется во все функции расширения веткой.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]