什么是Zend View过滤器?

Kim*_*nce 7 zend-framework zend-view

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

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

谢谢!

Luc*_*old 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
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

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

/**
 * Add Output filters to View
 *
 * @return void
 */
protected function _initViewFilter()
{
    $view = $this->getResource('view');
    $view->addFilterPath('App/View/Filter', 'App_View_Filter_')
        ->addFilter('Minify');
}
Run Code Online (Sandbox Code Playgroud)