Zend Framework

2,426 views

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,426
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
82
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Zend Framework

  1. 1. Aprenda a preocupar-se com seu negócio utilizando-o
  2. 2.  Quem sou eu?  Introdução  Motivação  O que é Zend Framework?  Vantagens  Componentes  Model-View-Controller  Exemplos de utilização
  3. 3.  Diego Tremper  Zend Certified Engineer  Entusiasta PHP  Estudante  Atualmente trabalha como desenvolvedor para ADP Brasil
  4. 4.  Frameworks vs. Bibliotecas  Bibliotecas : Conjunto de classes/funções que possuem abstrações de código reutilizáveis.  Framework: Quase igual, porém, utiliza um princípio conhecido como Inversão de Controle. ▪ Determina os fluxos de chamadas de sua aplicação
  5. 5.  Frameworks tornam o desenvolvimento mais rápido  Não há a necessidade de reinventar a roda  Que problema você pretende resolver? O do seu cliente ou o seu?  Garantem entregas em períodos menores ($$$?)
  6. 6.  Framework escrito em PHP 5  Concebido em 2005  Open source  Sob New BSD Licence  Usado em muitos projetos web
  7. 7.  Filosofia  Extrema Simplicidade  Sem Xmls complexos  Arquitetura “use o que precisar”  Frequentes interações com a comunidade
  8. 8.  Arquitetura flexível  Baixo acoplamento entre os componentes  Treimento oficial (Zend)  Certificação oficial (Zend)  Consultoria (Zend)  Farta documentação
  9. 9.  Integração com frameworks JavaScript  Dojo, JQuery  Comunidade forte  Wiki  Issue Tracker  Listas de email  Fórums
  10. 10.  Padrão descrito em 1979  Model: RN, Dados  View: Interface com usuário  Controller: Processamento e controle dos eventos  ZF possui a implementação concreta deste padrão
  11. 11.  Mapeamento baseado em partes da URL  http://www.example.org/feed/exibir/var/value  Controller : FeedController  Action : FeedController::exibirAction()  Parametros : [var:value]
  12. 12.  Possibilidade de implementar rotas customizadas  Possui modulos de injeção de dependência  Através de Plugins, Action Helpers e View Helpers  Possui interfaces bem definidas para possibilitar a customização
  13. 13.  Como funciona?  Através de uma configuração no mod_rewrite do apache (.htaccess ) todas as requisições são enviadas a um arquivo de bootstrap  Este arquivo inicializa o Front Controller que inicia o roteamento da chamada para o controller que a atenderá
  14. 14.  Estrutura de diretórios application/ controllers/  diretório dos controllers IndexController.php models/ views/ scripts/ index/  diretório de view do controller IndexController index.phtml  script de view da action indexAction helpers/ filters/ html/ .htaccess index.php  bootstrap
  15. 15.  Como funciona? Ex.: .htacces RewriteEngine on # direciona todos requests para index.php # com exceção de arquivos com extenção # .js, .ico, .gif, .jpg, .png, .css RewriteRule !.(js|ico|gif|jpg|png|css)$ index.php
  16. 16.  Como funciona? Ex.: index.php <?php error_reporting( E_ALL | E_STRICT ); require_once 'Zend/Loader.php'; Zend_Loader::registerAutoload(); // diretório dos controllers $appDir = dirname(__FILE__) . '/application'; // inicializa processo da requisição Zend_Controller_Front::run(quot;$appDir/controllersquot;);
  17. 17.  Controller  Os controllers devem inicializar as classes que processam as lógicas de negócio  Devem atribuir os valores necessários para os scripts de view  Também podem fazer desvio de chamadas, delegando o trabalho a outros controllers/actions
  18. 18.  Controller  Ex.: http://example.org/index/index/nome/Diego class IndexController extends Zend_Controller_Action { public function init() { // método invocado antes de exibirAction() } public function indexAction() { // inicializa dados que serão utilizados $this->view->saudacao= ‘Bem vindo’; $this->view->nome= $this->getRequest-getParam(‘nome’); } }
  19. 19.  View  Scripts de view escritos utilizando php + html  Apenas lógicas de apresentação devem estar presentes nestes scripts  É possivel a criação/utilização de Helpers para o auxílio da renderização dos dados
  20. 20.  View  Ex.: views/scripts/index/index.phtml <html> <body> … <h1><?= $this->saudacao; ?> <?= $this->nome; ?></h1> ... </body> </html>
  21. 21.  View  Ex.: views/scripts/index/index.phtml <html> <body> … <h1><?= $this->saudacao; ?> <?= $this->nome; ?></h1> ... </body> </html>
  22. 22.  Zend Studio for Eclipse  Paga!  Possui perspectivas próprias para criação de projetos utilizando o framework  Também é possivel utilizar qualquer outro editor de texto  Vi  Textpad  PSPad Editor  PDT
  23. 23.  Reference Guide ▪ http://www.zendframework.com/docs/  Comunidade Brasileira ▪ http://www.zfbrasil.com/forum/  Livro escrito por Flávio Lisboa ▪ http://www.novateceditora.com.br/livros/zend/
  24. 24.  Zend Developer Zone ▪ http://devzone.zend.com  Guide to Programming with Zend Framework ▪ http://www.zfguide.com/
  25. 25. Perguntas?
  26. 26. Obrigado!!! Contato: diegotremper@gmail.com LinkedIn: http://www.linkedin.com/in/diegotremper Blog: http://www.diegotremper.com
  27. 27.  Zend Framework: http://framework.zend.com /  PHP: http://www.php.net  Zend Studio: http://www.zend.com/en/products/studio/  Zend: http://www.zend.com

×