2013-04-04 34 views
7

Bộ lọc chế độ xem Zend là gì? Tôi thấy chúng được đề cập trong tài liệu ZF1, http://framework.zend.com/manual/1.12/en/zend.view.introduction.html và trong mã số Zend_View, nhưng tôi không thể tìm thấy lời giải thích cho chúng.Bộ lọc chế độ xem Zend là gì?

Có lẽ nó là để hỗ trợ các hệ thống templating khác có bộ lọc? Trong trường hợp đó, các bộ lọc làm gì trong các hệ thống templating này?

Cảm ơn!

Trả lời

7

đây là một ví dụ về Zend Xem Lọc:

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

Nó bộ lọc tìm thấy liên kết mailto và hoang mang cho họ.

Bộ lọc chế độ xem Zend thực hiện điều gì đó trên tệp phtml đã được hiển thị (= mã html) trước khi được gửi cho khách hàng.

Đó là một Zend_Filter có thể được sử dụng trên đầu ra Zend View.

Dưới đây là một ví dụ với mã từ:

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

Lớp lọc (lọc khoảng trắng từ html = ít mã để gửi):

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

Và sau đó thêm các bộ lọc để chế độ xem:

/** 
* Add Output filters to View 
* 
* @return void 
*/ 
protected function _initViewFilter() 
{ 
    $view = $this->getResource('view'); 
    $view->addFilterPath('App/View/Filter', 'App_View_Filter_') 
     ->addFilter('Minify'); 
} 
Các vấn đề liên quan