Zend 视图过滤器是什么?我在 ZF1 文档http://framework.zend.com/manual/1.12/en/zend.view.introduction.html和Zend_View
代码中看到了它们,但我找不到它们的解释。
也许是为了支持其他具有过滤器的模板系统?在那种情况下,过滤器在这些模板系统中做了什么?
谢谢!
Zend 视图过滤器是什么?我在 ZF1 文档http://framework.zend.com/manual/1.12/en/zend.view.introduction.html和Zend_View
代码中看到了它们,但我找不到它们的解释。
也许是为了支持其他具有过滤器的模板系统?在那种情况下,过滤器在这些模板系统中做了什么?
谢谢!
这是 Zend 视图过滤器的示例:
http://dev.bigace.org/api/3.0/Bigace_Zend/View_Filter/Bigace_Zend_View_Filter_ObfuscateMailto.html
它过滤找到的 mailto 链接并对其进行混淆处理。
Zend 视图过滤器在将已渲染的 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');
}