zend框架2 - 替换默认的phprenderer策略

时间:2013-03-30 16:31:23

标签: php zend-framework2

我开始进入Zend Framework 2,我想做的其中一件事就是创建一个拦截,在插入视图变量之前从模板文件中删除所有选项卡。

我认为我必须实现自己的渲染策略,但我无法弄清楚如何替换默认渲染策略(phprenderer)。是否只是设置一个具有更高值的同名策略然后是默认值?

1 个答案:

答案 0 :(得分:0)

作为参考,我通过添加过滤器解决了这个问题     

namespace Application\Filter;

use Zend\Filter\FilterInterface;

class FilterMinifyHTML implements FilterInterface {

    public function filter($value) {

        return \Minify_HTML::minify($value, array(
            'cssMinifier' => array('Minify_CSS', 'minify'),
            'jsMinifier'  => array('JSMin', 'minify'),
        ));

    }

}

然后应用过滤器(在PhpRenderStrategy.php

/**
 * Constructor
 *
 * @param  PhpRenderer $renderer
 */
public function __construct(PhpRenderer $renderer) {
    $this->renderer = $renderer;
    $filterChain = new FilterChain();
    $filterChain->attach(new FilterMinifyHTML());
    $this->renderer->setFilterChain($filterChain);
}