SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
Aprenda a preocupar-se com seu negócio utilizando-o
   Quem sou eu?
   Introdução
   Motivação
   O que é Zend Framework?
   Vantagens
   Componentes
   Model-View-Controller
   Exemplos de utilização
   Diego Tremper
   Zend Certified Engineer
   Entusiasta PHP
   Estudante
   Atualmente trabalha como desenvolvedor
    para ADP Brasil
   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
   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 ($$$?)
   Framework escrito em PHP 5
   Concebido em 2005
   Open source
     Sob New BSD Licence

   Usado em muitos projetos web
   Filosofia
     Extrema Simplicidade

     Sem Xmls complexos

     Arquitetura “use o que precisar”

     Frequentes interações com a comunidade
   Arquitetura flexível
     Baixo acoplamento entre os componentes

   Treimento oficial (Zend)
   Certificação oficial (Zend)
   Consultoria (Zend)
   Farta documentação
   Integração com frameworks JavaScript
     Dojo, JQuery

   Comunidade forte
     Wiki

     Issue Tracker

     Listas de email

     Fórums
   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
   Mapeamento baseado em partes da URL
     http://www.example.org/feed/exibir/var/value
      Controller : FeedController
      Action : FeedController::exibirAction()
      Parametros : [var:value]
   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
   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á
   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
   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
   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;);
   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
   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’);
                 }
       }
   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
   View
     Ex.: views/scripts/index/index.phtml

       <html>
       <body>
       …
           <h1><?= $this->saudacao; ?> <?= $this->nome; ?></h1>
       ...
       </body>
       </html>
   View
     Ex.: views/scripts/index/index.phtml

       <html>
       <body>
       …
           <h1><?= $this->saudacao; ?> <?= $this->nome; ?></h1>
       ...
       </body>
       </html>
   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
 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/
 Zend Developer Zone

 ▪ http://devzone.zend.com

 Guide to Programming with Zend Framework

 ▪ http://www.zfguide.com/
Perguntas?
Obrigado!!!

       Contato: diegotremper@gmail.com
LinkedIn: http://www.linkedin.com/in/diegotremper
       Blog: http://www.diegotremper.com
   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

Mais conteúdo relacionado

Mais procurados

Construindo Sistemas Com Django
Construindo Sistemas Com DjangoConstruindo Sistemas Com Django
Construindo Sistemas Com DjangoMarinho Brandão
 
CakePHP e o desenvolvimento rápido
CakePHP e o desenvolvimento rápidoCakePHP e o desenvolvimento rápido
CakePHP e o desenvolvimento rápidoIvan Rosolen
 
Construindo Diretivas com AngularJS
Construindo Diretivas com AngularJSConstruindo Diretivas com AngularJS
Construindo Diretivas com AngularJSRodrigo Branas
 
CakePHP - Configurando o ambiente de desenvolvimento no Windows
CakePHP - Configurando o ambiente de desenvolvimento no WindowsCakePHP - Configurando o ambiente de desenvolvimento no Windows
CakePHP - Configurando o ambiente de desenvolvimento no WindowsEmerson Soares
 
RubyConfBr 2015 - Rails & Javascript: faça isso direito
RubyConfBr 2015 - Rails & Javascript: faça isso direitoRubyConfBr 2015 - Rails & Javascript: faça isso direito
RubyConfBr 2015 - Rails & Javascript: faça isso direitoCezinha Anjos
 
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2Cezar Souza
 
Ionic 2/3 + Firebase
Ionic 2/3 + FirebaseIonic 2/3 + Firebase
Ionic 2/3 + FirebaseBruno Catão
 
WEB 2 - Aula 01 - 02.08
WEB 2 - Aula 01 - 02.08WEB 2 - Aula 01 - 02.08
WEB 2 - Aula 01 - 02.08Gilson Silva
 
AngularJS - 10 passos para aprender a criar suas directivas
AngularJS - 10 passos para aprender a criar suas directivasAngularJS - 10 passos para aprender a criar suas directivas
AngularJS - 10 passos para aprender a criar suas directivasJanderson Fernandes Cardoso
 
Introdução ao AngularJS
Introdução ao AngularJSIntrodução ao AngularJS
Introdução ao AngularJSRodrigo Branas
 
Começando com Zend Framework 2
Começando com Zend Framework 2Começando com Zend Framework 2
Começando com Zend Framework 2Cezar Souza
 
Estendendo o html com angular js
Estendendo o html com angular jsEstendendo o html com angular js
Estendendo o html com angular jsEvaldo Barbosa
 
Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JS
Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JSDesenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JS
Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JSRomulo Fagundes
 
Aplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoAplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoFreedom DayMS
 

Mais procurados (20)

Web Offline
Web OfflineWeb Offline
Web Offline
 
Construindo Sistemas Com Django
Construindo Sistemas Com DjangoConstruindo Sistemas Com Django
Construindo Sistemas Com Django
 
CakePHP e o desenvolvimento rápido
CakePHP e o desenvolvimento rápidoCakePHP e o desenvolvimento rápido
CakePHP e o desenvolvimento rápido
 
Construindo Diretivas com AngularJS
Construindo Diretivas com AngularJSConstruindo Diretivas com AngularJS
Construindo Diretivas com AngularJS
 
CakePHP - Configurando o ambiente de desenvolvimento no Windows
CakePHP - Configurando o ambiente de desenvolvimento no WindowsCakePHP - Configurando o ambiente de desenvolvimento no Windows
CakePHP - Configurando o ambiente de desenvolvimento no Windows
 
RubyConfBr 2015 - Rails & Javascript: faça isso direito
RubyConfBr 2015 - Rails & Javascript: faça isso direitoRubyConfBr 2015 - Rails & Javascript: faça isso direito
RubyConfBr 2015 - Rails & Javascript: faça isso direito
 
Ruby On Rails Regis
Ruby On Rails RegisRuby On Rails Regis
Ruby On Rails Regis
 
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
 
Ionic 2/3 + Firebase
Ionic 2/3 + FirebaseIonic 2/3 + Firebase
Ionic 2/3 + Firebase
 
Java script aula 10 - angularjs
Java script   aula 10 - angularjsJava script   aula 10 - angularjs
Java script aula 10 - angularjs
 
Angular js
Angular jsAngular js
Angular js
 
WEB 2 - Aula 01 - 02.08
WEB 2 - Aula 01 - 02.08WEB 2 - Aula 01 - 02.08
WEB 2 - Aula 01 - 02.08
 
Java script aula 08 - formulários
Java script   aula 08 - formuláriosJava script   aula 08 - formulários
Java script aula 08 - formulários
 
Java script - funções
Java script - funçõesJava script - funções
Java script - funções
 
AngularJS - 10 passos para aprender a criar suas directivas
AngularJS - 10 passos para aprender a criar suas directivasAngularJS - 10 passos para aprender a criar suas directivas
AngularJS - 10 passos para aprender a criar suas directivas
 
Introdução ao AngularJS
Introdução ao AngularJSIntrodução ao AngularJS
Introdução ao AngularJS
 
Começando com Zend Framework 2
Começando com Zend Framework 2Começando com Zend Framework 2
Começando com Zend Framework 2
 
Estendendo o html com angular js
Estendendo o html com angular jsEstendendo o html com angular js
Estendendo o html com angular js
 
Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JS
Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JSDesenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JS
Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JS
 
Aplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoAplicações rápidas para a Web com Django
Aplicações rápidas para a Web com Django
 

Destaque

General content customer presentation amplify teams
General content customer presentation amplify teamsGeneral content customer presentation amplify teams
General content customer presentation amplify teamsXavier Baez Gutierrez
 
Zf Zend Db by aida
Zf Zend Db by aidaZf Zend Db by aida
Zf Zend Db by aidawaraiotoko
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlDiego Tremper
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionIn a Rocket
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting PersonalKirsty Hulse
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanPost Planner
 

Destaque (6)

General content customer presentation amplify teams
General content customer presentation amplify teamsGeneral content customer presentation amplify teams
General content customer presentation amplify teams
 
Zf Zend Db by aida
Zf Zend Db by aidaZf Zend Db by aida
Zf Zend Db by aida
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControl
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming Convention
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media Plan
 

Semelhante a Zend Framework

Spring MVC Framework
Spring MVC FrameworkSpring MVC Framework
Spring MVC Frameworkelliando dias
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 
Desenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHPDesenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHPelliando dias
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlManuel Lemos
 
Integracao Contínua com CruiseControl e phpUnderControl
Integracao Contínua com CruiseControl e phpUnderControlIntegracao Contínua com CruiseControl e phpUnderControl
Integracao Contínua com CruiseControl e phpUnderControlDiego Tremper
 
Workshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseWorkshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseLuiz Duarte
 
Produtividade com JavaServer Faces
Produtividade com JavaServer FacesProdutividade com JavaServer Faces
Produtividade com JavaServer FacesEduardo Bregaida
 
ASP.NET MVC Mini Curso
ASP.NET MVC Mini CursoASP.NET MVC Mini Curso
ASP.NET MVC Mini CursoVinicius Rocha
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkFlávio Lisboa
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPArlindo Santos
 
Integração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControlIntegração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControlDiego Tremper
 
Desenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitDesenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitFlávio Lisboa
 
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANTAutomação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANTelliando dias
 
PHP - Programação para seres humanos
PHP - Programação para seres humanosPHP - Programação para seres humanos
PHP - Programação para seres humanosCaike Souza
 
O que esperar do Zend Framework 3
O que esperar do Zend Framework 3O que esperar do Zend Framework 3
O que esperar do Zend Framework 3Flávio Lisboa
 
Como Perder Peso (no browser)
Como Perder Peso (no browser)Como Perder Peso (no browser)
Como Perder Peso (no browser)Zeno Rocha
 
Desenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHPDesenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHPMarcelo Andrade
 

Semelhante a Zend Framework (20)

Spring MVC Framework
Spring MVC FrameworkSpring MVC Framework
Spring MVC Framework
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Zend Framework
Zend FrameworkZend Framework
Zend Framework
 
Desenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHPDesenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHP
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControl
 
Integracao Contínua com CruiseControl e phpUnderControl
Integracao Contínua com CruiseControl e phpUnderControlIntegracao Contínua com CruiseControl e phpUnderControl
Integracao Contínua com CruiseControl e phpUnderControl
 
Php 05 Mvc
Php 05 MvcPhp 05 Mvc
Php 05 Mvc
 
Workshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseWorkshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + Mongoose
 
Produtividade com JavaServer Faces
Produtividade com JavaServer FacesProdutividade com JavaServer Faces
Produtividade com JavaServer Faces
 
ASP.NET MVC Mini Curso
ASP.NET MVC Mini CursoASP.NET MVC Mini Curso
ASP.NET MVC Mini Curso
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend Framework
 
CakePHP
CakePHPCakePHP
CakePHP
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 
Integração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControlIntegração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControl
 
Desenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitDesenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo Toolkit
 
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANTAutomação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
 
PHP - Programação para seres humanos
PHP - Programação para seres humanosPHP - Programação para seres humanos
PHP - Programação para seres humanos
 
O que esperar do Zend Framework 3
O que esperar do Zend Framework 3O que esperar do Zend Framework 3
O que esperar do Zend Framework 3
 
Como Perder Peso (no browser)
Como Perder Peso (no browser)Como Perder Peso (no browser)
Como Perder Peso (no browser)
 
Desenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHPDesenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHP
 

Zend Framework

  • 1. Aprenda a preocupar-se com seu negócio utilizando-o
  • 2. Quem sou eu?  Introdução  Motivação  O que é Zend Framework?  Vantagens  Componentes  Model-View-Controller  Exemplos de utilização
  • 3. Diego Tremper  Zend Certified Engineer  Entusiasta PHP  Estudante  Atualmente trabalha como desenvolvedor para ADP Brasil
  • 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. 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. Framework escrito em PHP 5  Concebido em 2005  Open source  Sob New BSD Licence  Usado em muitos projetos web
  • 7. Filosofia  Extrema Simplicidade  Sem Xmls complexos  Arquitetura “use o que precisar”  Frequentes interações com a comunidade
  • 8. Arquitetura flexível  Baixo acoplamento entre os componentes  Treimento oficial (Zend)  Certificação oficial (Zend)  Consultoria (Zend)  Farta documentação
  • 9. Integração com frameworks JavaScript  Dojo, JQuery  Comunidade forte  Wiki  Issue Tracker  Listas de email  Fórums
  • 10.
  • 11.
  • 12. 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
  • 13. Mapeamento baseado em partes da URL  http://www.example.org/feed/exibir/var/value  Controller : FeedController  Action : FeedController::exibirAction()  Parametros : [var:value]
  • 14. 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
  • 15. 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á
  • 16. 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
  • 17. 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
  • 18. 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;);
  • 19. 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
  • 20. 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’); } }
  • 21. 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
  • 22. View  Ex.: views/scripts/index/index.phtml <html> <body> … <h1><?= $this->saudacao; ?> <?= $this->nome; ?></h1> ... </body> </html>
  • 23. View  Ex.: views/scripts/index/index.phtml <html> <body> … <h1><?= $this->saudacao; ?> <?= $this->nome; ?></h1> ... </body> </html>
  • 24. 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
  • 25.  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/
  • 26.  Zend Developer Zone ▪ http://devzone.zend.com  Guide to Programming with Zend Framework ▪ http://www.zfguide.com/
  • 28. Obrigado!!! Contato: diegotremper@gmail.com LinkedIn: http://www.linkedin.com/in/diegotremper Blog: http://www.diegotremper.com
  • 29. 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