function listarAction()
 {
     $produtos = new Application_Model_DbTable_Produto();
     $this->view->produtos = $produtos->fetchAll(null, 'nome asc');
     $this->renderScript('produto/listar.phtml');
     // estou tornando explícito o listar pq ele tb será usado no indexAction
 }
 function excluirAction()
 {
     $id = $this->getRequest()->getParam('id');
     if (!$id || !is_numeric($id)) {
         $this->view->alert = array('tipo' => 'danger', 'titulo' => "Alerta", 'msg' => "ID inválido.");
         return $this->indexAction();
     }
     $prodDB = new Application_Model_DbTable_Produto();
     $res = $prodDB->find($id)->toArray();
     if (count($res) != 1) {
         $this->view->alert = array('tipo' => 'danger', 'titulo' => 'Alerta', 'msg' => 'Produto não encontrado.');
         return $this->indexAction();
     }
     $prodDB->delete(array('id' => $id));
     $this->view->alert = array('tipo' => 'success', 'titulo' => "Exclusão", 'msg' => "Produto ID {$id} deletado com sucesso.");
     $this->indexAction();
 }
4) (1,0) Criar um script utilizando as classes do ZF para que atenda o fluxo abaixo:

a) Selecionar um registro (id=10) da tabela produto;
b) Se o registro existir, fazer um update neste registro: alterar o valor das colunas nome e dataAlteracao;
c) Se o registro não existir, então cadastra o novo produto (id,nome,dataAlteracao);


<?php 
$produtoTb = new Application_Model_DbTable_Produto();
$produto = $produtoTb->fetchRow('id=10');
if ($produto !== null) {
    $produtoTb->update(array('nome' => $nome, 'dataAlteracao' => $data), 'id=10');
} else {
    $produtoTb->insert(array('nome' => $nome, 'dataAlteracao' => $data));
}