O documento descreve o framework Zend Framework, definindo-o como um framework PHP de código aberto orientado a objetos. Detalha suas principais características como MVC, componentes, ferramentas como o Zend Tool e exemplos de uso para criar formulários, realizar operações no banco de dados e validações.
1. Cezar Junior de Souza
Centro de Residência em Software - Unochapecó
2. O que é um framework
•
“Framework é um conjunto de classes que
colaboram para realizar uma responsabilidade
para um domínio de um subsistema de
aplicação.”
Fayad e Shmidt
•
“Um framework é um conjunto de classes
que provê a abstração para resolver uma
família de problemas.”
Johnson e Foote
3. Vantagens em utilizar um
Framework
●
Redução no custo total do desenvolvimento;
●
Consistência;
●
Compatibilidade entre aplicações;
●
Padronização;
●
Redução da manutenção dos sistemas;
●
Erros detectados mais rapidamente;
●
Otimização dos recursos de desenvolvimento.
5. Um pouco sobre Zend
Zend Framework é um framework para aplicações
Web de código aberto, orientado a objetos,
implementado em PHP 5 e licenciado como New
BSD
License(Livre).
Zend
Framework
é
desenvolvido com o objetivo de simplificar o
desenvolvimento web enquanto promove as
melhores
práticas
na
comunidade
de
desenvolvedores PHP.
14. Bootstrap (index.php)
Arquivo principal da aplicação;
Define todos os caminhos onde os arquivos
estão armazenados, e todos os componentes
que a aplicação vai utilizar assim como o inicio
da sessão e a definição de váriaveis staticas
que serão utilizadas na aplicação;
Responsável por inicializar a aplicação;
21. Pegar dados do banco
No controller:
public function exibirAction(){
$acessorios = new Acessorios();
$this->view->dados = $acessorios->fetchAll();
}
22. Pegar dados do banco
Na visão
<?php
foreach($this->dados as $a){
echo $a['ac_descricao'];
}
?>
23. Insert
public function inserirAction(){
$dados = array(
'ac_descricao' => 'inserindo zend'
);
$acessorios = new Acessorios();
$acessorios->insert($dados);
$this->_redirect('index/exibir');
}
24. Update
public function updateAction(){
$dados = array(
'ac_descricao' => 'update'
);
$acessorios = new Acessorios();
$db = $acessorios->getAdapter();
$where = $db->quoteInto('ac_codigo = ?', 11);
$acessorios->update($dados, $where);
$this->_redirect('index/exibir');
}
25. Delete
public function deleteAction(){
$acessorios = new Acessorios();
$db = $acessorios->getAdapter();
$where = $db->quoteInto('ac_codigo = ?', 11);
$acessorios->delete($where);
$this->_redirect('index/exibir');
}
26. Paginação
No controller:
public function paginacaoAction(){
$acessorios = new Acessorios();
$res = $acessorios->fetchAll();
$paginator =Zend_Paginator::factory($res);
$current = $this->_getParam('page', 1);
$paginator->SetCurrentPageNumber($current)
->setItemCountPerPage(5);
$this->view->paginator = $paginator;
}
30. Validações
Algumas das Validações Mais Utilizadas:
Zend_Validate_Alnum();
Zend_Validate_Alnum(array('allowWhiteSpace'
=> true));
Zend_Validate_EmailAddress();
Zend_Validate_NotEmpty();
Zend_Validate_Int();
31. Zend Form
O Zend_Form é um componente que permite que
formulários sejam criados e mantidos usando-se objetos,
aumentando produtividade e mantendo um padrão de
desenvolvimento. É possível também com o Zend_Form, a
implementação de formulários com herança, ou seja, você
tem um formulário genérico (ex: PessoaForm) que pode ser
utilizado para criação de outros (ex: AdministradorForm)
que possuiriam apenas alguns campos adicionais além do
form padrão.
Ele também possui componentes que permitem a utilização
de todos os Filters e Validators do Zend, bem como a
implementação de Componentes personalizados.
33. Zend Form
Formulário de Login:
<?php
class Application_Form_LoginForm extends Zend_Form
{
public function init()
{
//nome do formulário
$this->setName('Login');
//elemento para o campo username
$username = new Zend_Form_Element_Text('username');
//configura
34. Zend Form
Formulário de Login:
//configurar o label, dizer q é obrigatório, adicionar um
filtro e um validador
$username->setLabel('Login') ->setRequired(true)
->addFilter('StripTags')->addValidator('NotEmpty');
//elemento para a senha
$password = new Zend_Form_Element_Password('password');
$password->setLabel('Senha')->setRequired(true)
->addFilter('StripTags')->addValidator('NotEmpty');
$submit = new Zend_Form_Element_Submit('submit');
$submit->setLabel('Entrar');
$submit->setAttrib('id', 'Entrar');
35. Zend Form
Formulário de Login:
}
}
//exemplo de class css
//$submit->setAttrib('class', 'verde buttonBar');
//adicionar os campos ao formulário
$this->addElements(array($username, $password, $submit));
//action e method
$this->setAction('/index/index')->setMethod('post');