什么是Zend View过滤器?

时间:2013-04-04 04:58:26

标签: zend-framework zend-view

什么是Zend View过滤器?我在ZF1文档http://framework.zend.com/manual/1.12/en/zend.view.introduction.htmlZend_View代码中看到了它们,但我找不到对它们的解释。

也许是为了支持其他有过滤器的模板系统?在这种情况下,过滤器在这些模板系统中做了什么?

谢谢!

1 个答案:

答案 0 :(得分:7)

这是一个Zend View过滤器的示例:

http://dev.bigace.org/api/3.0/Bigace_Zend/View_Filter/Bigace_Zend_View_Filter_ObfuscateMailto.html

它过滤发现的mailto链接并对它们进行模糊处理。

Zend View Filter在已经呈现的phtml文件(= html代码)上执行某些操作,然后再将其发送到客户端。

这是一个可以在Zend View输出上使用的Zend_Filter。

以下是代码来自的另一个例子:

http://www.phpgangsta.de/zend_view-output-filter-whitespaces-aus-html-entfernen

过滤器类(从html过滤空格=减少要发送的代码):

<?php
class App_View_Filter_Minify implements Zend_Filter_Interface
{
    public function filter($string)
    {
        return preg_replace(
            array('/>\s+/', '/\s+</', '/[\r\n]+/'),
            array('>', '<', ' '),
            $string
        );
    }
}

然后将过滤器添加到视图中:

/**
 * Add Output filters to View
 *
 * @return void
 */
protected function _initViewFilter()
{
    $view = $this->getResource('view');
    $view->addFilterPath('App/View/Filter', 'App_View_Filter_')
        ->addFilter('Minify');
}
相关问题