У меня есть представление о том, что делают помощники просмотра (/ view / helpers), но я понятия не имею, что такое фильтр представления (/ view / filters) и для чего он используется, может кто-нибудь пролить свет на этот вопрос?
Спасибо =)
У меня есть представление о том, что делают помощники просмотра (/ view / helpers), но я понятия не имею, что такое фильтр представления (/ view / filters) и для чего он используется, может кто-нибудь пролить свет на этот вопрос?
Спасибо =)
В конце рендеринга представления Zend_View передает вывод любому фильтру (ам), который вы зарегистрировали, вызывая метод filter()
для объекта фильтра.
Одним из применений фильтра может быть минимизация вывода HTML, удаление комментариев и пробелов для уменьшения размера содержимого, отправляемого по сети.
Теоретически вы можете написать более сложные фильтры, которые изменяют DOM, изменяя, скрывая или удаляя элементы страницы. Я бы не стал этого делать, потому что для представления более эффективно отрисовывать элементы прямо на первом проходе, чем настраивать их с помощью операций DOM после отрисовки. Или вы можете изменить контент, например, переводить с английского на французский на лету (если у вас есть автоматический способ сделать это, чего ZF не предоставляет).
К сожалению, фильтр Zend_View не документирован, поэтому я думаю, что на него мало спроса. Я подозреваю, что фильтры представления в основном являются жертвой YAGNI. Они были реализованы без учета хорошего сценария использования.