Cezar Junior de Souza
Centro de Residência em Software - Unochapecó
O que é um framework
•

“Framework é um conjunto de classes que
colaboram para realizar uma responsabilidade
para um domín...
Vantagens em utilizar um
Framework
●

Redução no custo total do desenvolvimento;

●

Consistência;

●

Compatibilidade ent...
Alguns Frameworks
Um pouco sobre Zend
Zend Framework é um framework para aplicações
Web de código aberto, orientado a objetos,
implementado ...
Empresas envolvidas
Certificados
MVC
Componentes Zend
Árvore de Pastas
Zend Tool


Zend Tool, como o nome já diz, é uma
ferramenta para linha de comando que nos
ajuda a gerar código para nossa...
Criando um Projeto


zf create project projeto
Árvore de Pasta – Zend Tool
Bootstrap (index.php)





Arquivo principal da aplicação;
Define todos os caminhos onde os arquivos
estão armazenados,...
IndexController
<?php
class IndexController extends Zend_Controller_Action{
public function indexAction(){
$this->view->da...
Index.phtml
<html>
<head><title>Index</title></head>
<body>
<h1>Index Controller</h1>
<?php echo $this->data; ?>
</body>
<...
.htaccess Permissões / URL's
RewriteEngine on
RewriteRule !.(ico|gif|txt|jpg|png|css|js|swf|svg|html|htm)
$ index.php
URL's
http://localhost/zend/projeto/classe/método


Exemplo:
http://localhost/zend/capacitacao/index
http://localhost/zen...
application.ini
Caminho:
/zend/projeto/application/configs/application.ini
zf configure db-adapter
"adapter=PDO_PGSQL&host...
Models
Caminho: /zend/projeto/models
<?php
class Acessorios extends
Zend_Db_Table_Abstract{
protected $_name = 't_acessori...
Pegar dados do banco
No controller:
public function exibirAction(){
$acessorios = new Acessorios();
$this->view->dados = $...
Pegar dados do banco


Na visão
<?php
foreach($this->dados as $a){
echo $a['ac_descricao'];
}
?>
Insert
public function inserirAction(){
$dados = array(
'ac_descricao' => 'inserindo zend'
);
$acessorios = new Acessorios...
Update
public function updateAction(){
$dados = array(
'ac_descricao' => 'update'
);
$acessorios = new Acessorios();
$db =...
Delete
public function deleteAction(){
$acessorios = new Acessorios();
$db = $acessorios->getAdapter();
$where = $db->quot...
Paginação
No controller:
public function paginacaoAction(){
$acessorios = new Acessorios();
$res = $acessorios->fetchAll()...
Paginação
Na visão:
<?php
if(count($this->paginator)>0){
foreach ($this->paginator as $a){
echo '<h3>'.$a['ac_codigo'].'</...
Busca
public function buscarAction(){
$post = Zend_Registry::get('post');
$acessorios = new Acessorios();
if ($post->busca...
Busca
<form action="<?php echo BASE_URL;?>/index/buscar"
method="post">
Buscar: <input type="text" name="buscar" /><input ...
Validações
Algumas das Validações Mais Utilizadas:



Zend_Validate_Alnum();
Zend_Validate_Alnum(array('allowWhiteSpace'...
Zend Form
O Zend_Form é um componente que permite que
formulários sejam criados e mantidos usando-se objetos,
aumentando p...
Zend Form


Criando um formulário:
zf create form LoginForm
Zend Form


Formulário de Login:
<?php
class Application_Form_LoginForm extends Zend_Form
{
public function init()
{
//no...
Zend Form


Formulário de Login:
//configurar o label, dizer q é obrigatório, adicionar um
filtro e um validador
$usernam...
Zend Form


Formulário de Login:

}
}

//exemplo de class css
//$submit->setAttrib('class', 'verde buttonBar');
//adicion...
Zend Form


Setar Atributos:
->setAttrib('maxlength','200');



Setar Validadores:
->addValidator('Alpha', true, 'allowW...
http://framework.zend.com/manual
Próximos SlideShares
Carregando em…5
×

Zend Framework 1.11

959 visualizações

Publicada em

Curso sobre o Zend Framework 1.11.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
959
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
15
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Zend Framework 1.11

  1. 1. Cezar Junior de Souza Centro de Residência em Software - Unochapecó
  2. 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. 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.
  4. 4. Alguns Frameworks
  5. 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.
  6. 6. Empresas envolvidas
  7. 7. Certificados
  8. 8. MVC
  9. 9. Componentes Zend
  10. 10. Árvore de Pastas
  11. 11. Zend Tool  Zend Tool, como o nome já diz, é uma ferramenta para linha de comando que nos ajuda a gerar código para nossas aplicações.
  12. 12. Criando um Projeto  zf create project projeto
  13. 13. Árvore de Pasta – Zend Tool
  14. 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;
  15. 15. IndexController <?php class IndexController extends Zend_Controller_Action{ public function indexAction(){ $this->view->data = date('Y-m-d H:i:s'); } }
  16. 16. Index.phtml <html> <head><title>Index</title></head> <body> <h1>Index Controller</h1> <?php echo $this->data; ?> </body> </html>
  17. 17. .htaccess Permissões / URL's RewriteEngine on RewriteRule !.(ico|gif|txt|jpg|png|css|js|swf|svg|html|htm) $ index.php
  18. 18. URL's http://localhost/zend/projeto/classe/método  Exemplo: http://localhost/zend/capacitacao/index http://localhost/zend/capacitacao/admin http://localhost/zend/capacitacao/index/exibir http://localhost/zend/capcitacao/admin/cadastro
  19. 19. application.ini Caminho: /zend/projeto/application/configs/application.ini zf configure db-adapter "adapter=PDO_PGSQL&host=localhost& dbname=curso_php&username=postgres &password=root"
  20. 20. Models Caminho: /zend/projeto/models <?php class Acessorios extends Zend_Db_Table_Abstract{ protected $_name = 't_acessorio'; protected $_primary = 'ac_codigo'; }
  21. 21. Pegar dados do banco No controller: public function exibirAction(){ $acessorios = new Acessorios(); $this->view->dados = $acessorios->fetchAll(); }
  22. 22. Pegar dados do banco  Na visão <?php foreach($this->dados as $a){ echo $a['ac_descricao']; } ?>
  23. 23. Insert public function inserirAction(){ $dados = array( 'ac_descricao' => 'inserindo zend' ); $acessorios = new Acessorios(); $acessorios->insert($dados); $this->_redirect('index/exibir'); }
  24. 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. 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. 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; }
  27. 27. Paginação Na visão: <?php if(count($this->paginator)>0){ foreach ($this->paginator as $a){ echo '<h3>'.$a['ac_codigo'].'</h3>'.'<br>'. $a['ac_descricao']; ?> <br><br> <?php } echo $this->paginationControl($this->paginator, 'Sliding', 'partials/paginator.phtml'); } ?>
  28. 28. Busca public function buscarAction(){ $post = Zend_Registry::get('post'); $acessorios = new Acessorios(); if ($post->buscar){ $db = $acessorios->getAdapter(); $where = $db->quoteInto('ac_descricao LIKE ?', '%'. $post->buscar.'%'); } $res = $acessorios->fetchAll($where); $paginator = Zend_Paginator::factory($res); $current = $this->_getParam('page', 1); $paginator->SetCurrentPageNumber($current) ->setItemCountPerPage(5); $this->view->paginator = $paginator; }
  29. 29. Busca <form action="<?php echo BASE_URL;?>/index/buscar" method="post"> Buscar: <input type="text" name="buscar" /><input type="submit" value="Buscar" /> </form> <?php if(count($this->paginator)>0){ foreach ($this->paginator as $a){ echo '<h3>'.$a['ac_codigo'].'</h3>'.'<br>'.$a['ac_descricao']; ?> <br><br> <?php } echo $this->paginationControl($this->paginator, 'Sliding', 'partials/paginator.phtml'); } ?>
  30. 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. 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.
  32. 32. Zend Form  Criando um formulário: zf create form LoginForm
  33. 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. 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. 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');
  36. 36. Zend Form  Setar Atributos: ->setAttrib('maxlength','200');  Setar Validadores: ->addValidator('Alpha', true, 'allowWhiteSpace'); ->addValidator('EmailAddress'); ->addValidator('StringLength', true, array(0, 2000));
  37. 37. http://framework.zend.com/manual

×