树枝扩展方法参数,未在树枝过滤器中指定



这段代码来自symfony Knp-paginator-bundle,存在于Twig Extension类(PaginationExtension.php(中。我想知道(只是好奇(render(( 方法中的第二个参数:SlidingPagination $pagination来自哪里,因为这个参数不是在 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) }}

实际上SlidingPagination $pagination来自projects

在树枝呼叫:{{ knp_pagination_render(projects) }}

Twig_Environment $env通过 twig 插入到所有扩展函数中。

相关内容

  • 没有找到相关文章

最新更新