Como acessar um Model DbTable dentro do BootStrap no Zend Framework

Pergunta simples, porém interessante.
Quando precisamos acessar o banco de dados a primeira vez no Bootstrap do Zend Framework é provável que você dê com os burros n’água… se você não deu com os burros n’água a primeira vez, parabéns, mas se está lendo este post, certamente já deu! (risos)

Abaixo veja como acessar o banco o Model dentro do BootStrap.

Leia mais

[ Tutorial ] Zend Framework – Parte 06

Models, CRUD, Zend_Db_Table

Sumário

Na parte anterior aprendemos como criar Forms e enviar emails utilizando o Zend_Mail.
Vamos agora aprender a trabalhar com banco de dados e ver o conceito de Models dentro do Zend Framework utilizando o DbTable e as operações básicas com o paradigma CRUD.
Leia mais

[ Tutorial ] Zend Framework Parte 02

MVC, Modules, Controllers, Views, Parameters

Sumário

Nesta parte do tutorial vamos aprender alguns conceitos fundamentais para todo desenvolvedor que utilize o Zend Framework, entre eles o Padrão MVC, Modules, Controllers, Actions, Models, Parameters. Vamos criar um site básico a partir do nosso projeto criado na parte anterior e vamos utilizar os conceitos citados acima.

Leia mais

[ Dica Zend Framework ] – Como pegar o último id {lastInsertId} de uma consulta

Então, mas uma pegadinha do malandro!

Normalmente, quando estamos criando Models customizamos até mesmo o nome dos métodos padrões da classe Zend_Db_Table_Abstract e acabamos nos deparando com resultados inesperados.

Um exemplo prático:

Supondo que voce criou um Model Produtos, as chances de você criar um método cadastrar, ou novo, ou inserir, são enormes, dai a queixa.


...
public function cadastrar( $dados )  {
    $this->insert( $dados );
}
...

Ai na hora de inserir os dados você deseja saber o último id inserido e não sai nada.

E você faz algo do tipo:


...
public function cadastrarAction()  {
    $db = new Produtos();
    $dados = array(
        'nome' => $this->getRequest()->getPost('nome'),
        'descricao' => $this->getRequest()->getPost('descricao'),
        'valor' => $this->getRequest()->getPost('valor')
    )
    $id = $db->cadastrar( $dados );
}
...

Ai o que acontece? Voce insere certinho, mas não retorna o id.

A dica esta tem duas partes:

1) Talvez voce tenha esquecido de colocar o return no Model para o método cadastrar


...
    return $this->insert( $dados );
...

2) Voce não colocou o ID na variável $dados. Vale ressaltar aqui, que o Zend manipula os tipos de dados bem estritamente, e certas operações não estarão disponíveis se você não for específico com o tipo de dado em uso, neste caso, o ID a ser retornado é do tipo NULL e logo, você tem que fazer isto:


...
    $dados = array(
        'id' => null // observe que é null e nao 'null' entre aspas, senao seria string
...

Tutorial ZF Tool – Projeto Zend Framework com ZF Tool

Bom, depois de muito tempo sem trazer novidades para a galera do Zend Framework, estamos ai com novidades, entre elas este tutorial sobre como utilizar o ZF Tool, a ferramenta criada pela Zend Technology para facilitar a vida de quem utiliza o mais popular framework PHP. Vou me limitar aos comandos mais fundamentais, depois, se você já sabe programar com o Zend framework, vou ensinar como achar os outros comandos (suspense).

Leia mais