O blog está um pouco parado, então irei reanima-lo um pouco. Vou continuar seguindo a linha MVC do ZF e hoje vou abordar um dos principais problemas que essa implementação pode trazer: Views sujas com códigos.
O conceito de MVC nasceu justamente para manter as views (interface com o usuário) completamente separadas dos códigos e das regras de negócio. Com o ZF ela já fica um pouco poluída (para quem estava acostumado com smarty, o primeiro contato é um desespero só). Então programadores, vamos tentar manter essa distinção e vamos fazer mais uso dos “Views helpers”.
O que são os Views Helpers?
Views Helpers são classes que fazem o papel de abstrair os códigos que possivelmente ficarão na view. Seja um foreach para preencher dados de tabela ou de combobox, seja para formatação de nomes/datas ou qualquer outro fim. Fora tirar todo esse código sujo da sua view, você ainda pode reaproveita-las para outras telas.
Criando o Helper
No padrão MVC do zend, existe uma pasta chamado views, dentro de views existe mais 2 pastas (scripts e helpers). Crie seu arquivo dentro da pasta helpers, com o nome do seu helper. Em nosso exemplo: Data.php

Zend Framework - MVC - Diretorios
Codificando
<?php
/*
* Helper que retorna o uma data em vários formatos diferentes.
* ex: echo $this->Data('2009-18-11')->extenso;
* ex: echo $this->Data('2009-18-11')->pt_br;
* ex: echo $this->Data('2009-18-11 09:11:00')->hora;
* @author Nivaldo Arruda - nivaldo@gmail.com
* @see www.nivaldoarruda.com.br
* @version 1.0
*/
class Zend_View_Helper_Data extends Zend_View_Helper_Abstract
{
public $extenso;
public $pt_br;
public $hora;
public function data($data)
{
list($ano, $mes, $dia) = explode("-", substr($data, 0, 10));
$this->extenso = $this->diasemana("$ano-$mes-$dia");
$this->pt_br = "$dia/$mes/$ano";
if(strlen($data)>10){
list($hora, $minuto, $segundo) = explode(":", substr($data, 11, 8));
$this->hora = "$hora:$minuto:$segundo";
}
return $this;
}
/**
* Retorna o dia da semana, por extenso e em português, correspondente
* a data informada por parametro (no padrão aaaa-mm-dd).
*
* @param Date $data
* @return String
*/
public function diasemana($data){
list($ano, $mes, $dia) = explode("-", $data);
$diasemana = date("w", mktime(0, 0, 0, $mes, $dia, $ano));
switch($diasemana) {
case 0: $diasemana = "Domingo";
break;
case 1: $diasemana = "Segunda-Feira";
break;
case 2: $diasemana = "Terça-Feira";
break;
case 3: $diasemana = "Quarta-Feira";
break;
case 4: $diasemana = "Quinta-Feira";
break;
case 5: $diasemana = "Sexta-Feira";
break;
case 6: $diasemana = "Sábado";
break;
}
return $diasemana;
}
}
?>
Entendendo
Perceba a linha da assinatura da classe:
class Zend_View_Helper_Data extends Zend_View_Helper_Abstract
O nome do arquivo “Data” Deve ser igual ao sulfixo do nome da classe (tome sempre cuidado com o case-sensitive).
O nome do método principal, também deve ser igual ao do arquivo, mas esse em caixa-baixa (minusculo): “data”
public function data($data)
Para rodar esse helper, em uma de suas views, execute o código que está comentado no cabeçalho da classe:
Exemplo de uso
echo $this->Data('2009-18-11')->extenso;
echo $this->Data('2009-18-11')->pt_br;
echo $this->Data('2009-18-11 09:11:00')->hora;
Agora use a imaginação e mantenha suas Views limpas!
Próximo passo: Action Helpers!
^^