SlideShare uma empresa Scribd logo
1 de 94
Baixar para ler offline
Zend Framework:
Reuso e padrões para fácil manutenção


     Flávio Gomes da Silva Lisboa
            www.fgsl.eti.br
Quem sou eu?




www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
Agenda:

1)Você tem problemas (isso você já sabia)
2)Os problemas são mais graves do que você pensa
3)Eles vão piorar com o tempo
4)Você está perdido, ferrado, lascado, etc...
5)POG e XGH não vão te ajudar




                                                                                  Fonte: tokyostudent.blogspot.com
             www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
Agenda:

Mas existe esperança!




                    Fonte: eupodiatamatando.com

www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




O QUE É SOFTWARE?




          www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




O QUE É SOFTWARE?




   CÓDIGO-FONTE                                                              DOCUMENTAÇÃO
   Fonte: downloads.open4group.com                                              Fonte: rhjunior.com.br




                        www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




O QUE É SOFTWARE?




   CÓDIGO-FONTE                                                  DOCUMENTAÇÃO



            www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




DESENVOLVIMENTO DE SOFTWARE DESORGANIZADO




          www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




DESENVOLVIMENTO DE SOFTWARE DESORGANIZADO

                        O SOBRINHO




                      Fonte: apeedpedroiv.no.sapo.pt




          www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




DESENVOLVIMENTO DE SOFTWARE DESORGANIZADO
        PLANO DE CARREIRA DO SOBRINHO



                                                                            ATIRA!

                                                                          XGH
                                                                           SÊNIOR
                                PENSA

                               POG
                                PLENO
  PESQUISA

 CCF?B!
   JÚNIOR
              www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




DESENVOLVIMENTO DE SOFTWARE DESORGANIZADO




   Fonte: pelamordedeus.com.br


                           www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




DESENVOLVIMENTO DE SOFTWARE ORGANIZADO




Fonte: anarquiweb.com

                         www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




DESENVOLVIMENTO DE SOFTWARE ORGANIZADO




Fonte: anarquiweb.com

                         www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




DESENHAR RETÂNGULOS É LEGAL...




     Fonte: ciqs.fe.up.pt




                        www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




… MAS A REALIDADE É ESTA:

 “A construção [de código] toma normalmente de
30% a 80% do tempo total [de desenvolvimento]”.
            Steve McConnel (2005)




            www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




CÓDIGO-FONTE É UMA PRAGA!




 Fonte: planetaignis.blogspot.com

                              www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




CÓDIGO-FONTE É ERVA DANINHA!




          www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




CÓDIGO-FONTE É COELHO NA AUSTRÁLIA!




                                                                               Fonte: educ.fc.ul.pt


          www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




FATOS:


 DESENVOLVER = GERAR CÓDIGO-FONTE

    + CÓDIGO-FONTE → + COMPLEXO

  + COMPLEXO → + DIFÍCIL DE MANTER

     + DIFÍCIL DE MANTER → + CARO




          www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




FATOS:
DIFÍCIL DE MANTER => DEMORA PRA MUDAR

              TEMPO = DINHEIRO




           Fonte: castelodosaprendizes.com   Fonte: titoreccocom.blogspot.com




    SE VOCÊ NÃO TEM TEMPO, LOGO
       VOCÊ NÃO TEM DINHEIRO
          www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




PHP NAS MÃOS CERTAS...




      Fonte: asagastarwars.site90.com



                    www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




PHP NAS MÃOS ERRADAS...




                     Fonte: foreignerinformosa.typepad.com




          www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




Forma inadequada de uso
algumacoisa.php
<html>
<body>
<?php
while($entrarNaCabeca == false){
echo “Vou escrever código reusável”;
}
?>
</body>
</html>
         www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




                                               Palavras-chave:



                             Manutenção
Fonte: lucianomende.blogspot.com                                                                         Fonte: silverferramentas.com.br




                                             Reuso
                                    www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




Padrão de Projeto




   www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




Cada padrão
descreve um
problema que
ocorre
repetidamente
em nosso
ambiente...
        www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




    Cada
   padrão
descreve o
núcleo da
  solução
 para esse
problema...
         www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




   … de
forma tal
 que você
pode usar
   essa
 solução
milhões de
  vezes...
       www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




   … sem
   nunca
 fazê-la da
  mesma
   forma
    duas
   vezes.
* Christopher Alexander

                   www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




    O QUE UM PADRÃO DE PROJETO É
●   Um modelo de solução comprovada
●   Uma linguagem comum para
    desenvolvedores
●   Útil para compreender frameworks


SOLUÇÕES REUTILIZÁVEIS


            www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




O QUE UM PADRÃO DE PROJETO NÃO É
●   A solução para todos os problemas de
    projeto
●   Implementação final
●   Panacéia




             www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




“Frameworks são o mais alto
nível de reuso.
Eles tentam destilar o projeto de
software e identificar as
abstrações-chave para resolver
um problema”.
Erich Gamma em entrevista a Bill Venners



                 www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




“Construir um framework é um
alto risco e um investimento
significativo”.Erich Gamma em entrevista a Bill Venners




               www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




“Se você realmente quer assumir
o risco de construir frameworks,
você quer ter os menores e mais
focados frameworks que você
também pode provavelmente
tornar opcionais”.
Erich Gamma em entrevista a Bill Venners



                 www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte   Zend Framework
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




                            O que é Zend
                            Framework?



 www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




Um framework                                                        Título da Apresentação



completo?


Uma biblioteca
de componentes?

      www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




As duas coisas




  Fonte: 0001coisas.blogspot.com




                     www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




Ou até mais que isso




       www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte   Zend Framework
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




             MVC
           Controller
             View                                                              Data
                                                                             Database
                                                                               XML
                                                                              Search
                     Core                                                      PDF
Security            Cache
                                        Web Services
  Acl               Config
                                           Feed                                       i18n
 Auth                   Log
                                              Client                       Locale            Date
 Filter             Registry
                                              Server                     Translate        Calendar
Validate            Session
                                            Services                     Measure          Currency


                     www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




Zend Framework é
uma biblioteca de
  componentes
   fracamente
    acoplados.
   www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




Pra quem só quer trocar uma
 peça e não o carro inteiro...




      Fonte: info.abril.com.br

      www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




Arquitetura Self-Service




    www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




Outros
frameworks
podem usar
componentes
do Zend


       www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




Zend Framework é um
     framework
 extensível e flexível.




Fonte: emule.com.br                                           Fonte: online-naweb.blogspot.com


                      www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




ZF pode usar
outros
frameworks
e componentes
como se fossem
realmente parte
dele

        www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




Mais do que isso!
A arquitetura do Zend
Framework aproveita o
modelo de negócio de
software livre e evita
forks!




             www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




               METODOLOGIA
“NÃO QUERO PAGAR E TENHO PRAZO PRA ENTREGAR”
1. TENHO UM PROBLEMA!            2. USO A COMUNIDADE                           3. NÃO POSSO ESPERAR!




                                                                                 6. E SE TIVER QUE FAZER
                               5. RESOLVI O PROBLEMA!                            MANUTENÇÃO?
4. FAÇO UM FORK (OU POG)       (PELO MENOS AGORA...)




                    www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




                    METODOLOGIA
             “O ZEN DO ZEND FRAMEWORK”
1. TENHO UM PROBLEMA!          2. USO A COMUNIDADE                           3. NÃO POSSO ESPERAR!




                                             6. O QUE FOI PRA
4. ESTENDO, USANDO     5. RESOLVI O PROBLEMA COMUNIDADE SERÁ
A INTERFACE PADRÃO,    DIREITO!              TESTADO, APERFEIÇOADO E
E SUBMETO PRA COMUNIDADE
                                             PODEREI UTILIZAR SEM
                                             CAUSAR IMPACTO NA
                                             APLICAÇÃO!




                  www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




                                     COMUNIDADE




                                                                         SOLUÇÃO
 SOLUÇÃO IMEDIATA
                                                                       APERFEIÇOADA




$al = Zend_Loader_Autoloader::getInstance();
$al->registerNamespace('Serpro_');
$al->registerNamespace(array('Celepar_',
'Dataprev_', 'MEC_'));



             www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




   Parceiros e InvestidoresTítulo da Apresentação




 www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




Licença new BSD


CLA – Contributor
License Agreement


   www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




Características e Funcionalidades




        www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




  MVC
Controller

  View



          www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




 O Controlador observa a Visão

                    Controller




View                                                                         Model
        www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




O Controlador obtém dados da Visão

                     Controller




 View                                                                         Model
         www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




O Controlador atualiza o Modelo

                    Controller




View                                                                         Model
        www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




  O Modelo notifica a Visão

                    Controller




View                                                                         Model
        www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




A Visão obtém os dados do Modelo

                    Controller




View                                                                         Model
        www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




                             CLIENT                                             V
HTTP                                                                            HTTP
REQUEST                                                                         RESPONSE



                           SERVER                                 C M
           www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




              Que lindo!




 www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




Mas a realidade é mais dura...




      www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




Quebra de Paradigma




  www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




O Controlador não observa a Visão

                    Controller




View                                                                         Model
        www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




 A Visão não observa o Modelo

                    Controller




View                                                                         Model
        www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




 A Visão não fala com o Controlador
Front
                                                                      Controller
Controller




  View                                                                         Model
          www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




Toda requisição vai para o Front Controller
 Front
                                                                         Controller
 Controller

        HTTP
        REQUEST




    View                                                                          Model
             www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




O Front Controller designa um Page Controller

 Front                          EXECUTE
                                                                         Controller
 Controller

        HTTP
        REQUEST




    View                                                                          Model
             www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




A Visão obtém os dados do Modelo...
Front                         EXECUTE
                                                                       Controller
Controller

      HTTP
      REQUEST



                                GET DATA
  View                                                                          Model
           www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




    ...atualizados pelo Controlador
Front                         EXECUTE
                                                                       Controller
Controller

      HTTP                         SET DATA
      REQUEST



                                GET DATA
  View                                                                          Model
           www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




CONTROLADOR FRONTAL




           CASTELO DE BODIAM, INGLATERRA


 www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




                        CONTROLADOR
Padrão de Projeto: Controlador de página

 <?php

 class IndexController
     extends Zend_Controller_Action
 {
     public function init()
     {
         /* Initialize action controller here */
     }

        public function indexAction()
        {
            // action body
        }
 }
                     www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




                              CONTROLADOR
   Controlador de erros

class ErrorController extends Zend_Controller_Action
{
    public function errorAction()
    {
        $errors = $this->_getParam('error_handler');
        switch ($errors->type) {
            case 'EXCEPTION_NO_CONTROLLER':
            case 'EXCEPTION_NO_ACTION':
                // 404 error -- controller or action not found
                $this->getResponse()->setHttpResponseCode(404);
                $this->view->message = 'Page not found';
                break;
            default:
                // application error
                $this->getResponse()->setHttpResponseCode(500);
                $this->view->message = 'Application error';
                break;
        }        www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
                                                                                      Zend
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




                                  MODELO




Cláudia Schiffer                            Naomi Campbell                               Riyo Mori




                    www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




                          MODELO
Não tem Zend_Model...

Mas tem:
►Zend_Db_Table
►Zend_Feed
►Zend_Rest
►Zend_Service
►Zend_Soap
►Zend_XmlRpc
►Zend_Search_Lucene
...


            www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




                           MODELO
Zend_Db_Table

►Mapeia tabelas relacionais para classes PHP.
►Define relacionamentos e restrições no modelo.
►Permite construir consultas orientadas a objeto com
Zend_Db_Table_Select.
►Não obriga a criação de classes PHP (>1.10), pode
criar modelos dinamicamente.
►Pode ser usado de dois modos:
   →Tenho saudade de SQL
   → Active Record


             www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




                                VISÃO
Para a interface com o usuário, Zend Framework usa o
padrão de projeto Vista em Duas Etapas.

1) Primeiro ele transforma dos dados provenientes do
modelo, ou enviados pelo controlador, em uma
apresentação lógica, sem qualquer formatação
específica (Zend_View)

2) Depois, ele converte essa apresentação lógica na
formatação real necessária (Zend_Layout)



              www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




                                  VISÃO

Um layout pode servir para várias páginas:

  CSS
  Javascript                              Layout




   Página 1    Página 2            Página 3                Página 4                  Página 5



         CONTEÚDO, NO CORPO DO DOCUMENTO

                www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




                                     VISÃO

Zend_View permite reutilização de componente de visão: view partials


                                              Visão
                                             Principal




                  Partial 1                   Partial 2                      Partial 3



                      Partials podem ser reaproveitados

                   www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




Um projeto MVC pode ser criado rapidamente
com Zend Tool.

Ele pode ser executado na linha de comando ou
integrado com IDEs como Eclipse e Netbeans.

SEM APRISIONAMENTO POR IDE'S!




           www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




DÁ PRA LIGAR SEM CONTROLE REMOTO!

   # Unix:
   % zf.sh create project quickstart

   # DOS/Windows:
   C:> zf.bat create project quickstart




        www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




 quickstart
 |-- application
 |      |-- Bootstrap.php
 |      |-- configs
 |      |         `-- application.ini
 |      |-- controllers
 |      |         |-- ErrorController.php
 |      |         `-- IndexController.php
 |      |-- models
 |      `-- views
 |                |-- helpers
 |                `-- scripts
 |                    |-- error
 |                    |    `-- error.phtml
 |                    `-- index
 |                         `-- index.phtml
 |-- library
 |-- public
 |      `-- index.php
 `-- tests
        |-- application
        |         `-- bootstrap.php
        |-- library
        |         `-- bootstrap.php
 www.fgsl.eti.br Éphpunit.xml desde que citada a fonte
        `-- permitida a reprodução,
                                                            Zend
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




Fluxo da requisição e plugins



                                                                        C


   www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




Security
  Acl
                            CODIFICAÇÃO
 Auth
                            SEGURA
 Filter                            integração

Validate                                        Zend_Form

          www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




  Data
Database                                                                    PDO
  XML
 Search                                   NO SQL INJECTION
  PDF

       www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




 Core
 Cache
 Config
  Log
Registry                                                            INI, XML, PHP...
Session

         www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




                                                                            XML-RPC
                                                                            SOAP
Web Services
                                                                            REST
   Feed
  Client
  Server
 Services
            www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




Web Services
   Feed
  Client
  Server               COMPUTAÇÃO EM NUVEM COM PHP

 Services
            www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




   INTERNACIONALIZAÇÃO

 Locale    Date
Translate Calendar
Measure Currency
             www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




DEBUG

DOM

FILE                   NAVIGATION

FORM                   PAGINATOR

MAIL                             TEST
                                                                              ...
         www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




LEMBRE-SE DISSO:

                                           A Melhor
                                         maneira de
                                      reduzir Riscos no
                                      Desenvolvimento
                                        de Software é
                                            NÃO
                                      DESENVOLVER!


                 GRADY BOOCH, um dos criadores da UML

         www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




NÃO DESENVOLVA! REUSE!


                                                              E NÃO SE
                                                              ESQUEÇA
                                                               DISSO!




     www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




 MENSAGEM SUBLIMINAR:




 USE ZEND
FRAMEWORK!
   www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




                                          ALGUMA
                                         PERGUNTA?



                       http://framework.zend.com
                                 www.zfbrasil.com

 www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil




                                     Obrigado!




        Fonte: carlosbritto.com




        Mas precisamos de tradutores!
http://groups.google.com.br/group/zfdoc-ptbr

                   www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte

Mais conteúdo relacionado

Mais procurados

Contribuindo e criando software livre
Contribuindo e criando software livreContribuindo e criando software livre
Contribuindo e criando software livreVitor Mattos
 
A Evolução do PHP - 4º Dev In Santos
A Evolução do PHP - 4º Dev In SantosA Evolução do PHP - 4º Dev In Santos
A Evolução do PHP - 4º Dev In SantosEvaldo Junior
 
A Evolução do PHP - A Linguagem Número 1 da Web - PHP Conference Brasil 2013
A Evolução do PHP - A Linguagem Número 1 da Web - PHP Conference Brasil 2013A Evolução do PHP - A Linguagem Número 1 da Web - PHP Conference Brasil 2013
A Evolução do PHP - A Linguagem Número 1 da Web - PHP Conference Brasil 2013Evaldo Junior
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porteFelipe Ribeiro
 
Segurança em Aplicações Web com PHP
Segurança em Aplicações Web com PHPSegurança em Aplicações Web com PHP
Segurança em Aplicações Web com PHPGedvan Dias
 
O ecossistema e o estado atual do php - o presente, o passado e o futuro da ...
O ecossistema e o estado atual do php  - o presente, o passado e o futuro da ...O ecossistema e o estado atual do php  - o presente, o passado e o futuro da ...
O ecossistema e o estado atual do php - o presente, o passado e o futuro da ...Rodrigo Wanderley de Melo Cardoso
 
Desenvolvendo mvp com python
Desenvolvendo mvp com pythonDesenvolvendo mvp com python
Desenvolvendo mvp com pythonBruno Rocha
 
Xdebug seus problemas acabaram - TDC - PHPeste
Xdebug   seus problemas acabaram - TDC - PHPesteXdebug   seus problemas acabaram - TDC - PHPeste
Xdebug seus problemas acabaram - TDC - PHPesteVitor Mattos
 
TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!
TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!
TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!tdc-globalcode
 
PHPSP TestFest 2010
PHPSP TestFest 2010PHPSP TestFest 2010
PHPSP TestFest 2010Rafael Dohms
 
Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Felipe Queiroz
 
Desenvolvimento web: PHP orientado a objetos
Desenvolvimento web: PHP orientado a objetosDesenvolvimento web: PHP orientado a objetos
Desenvolvimento web: PHP orientado a objetosLucas Vegi
 
Apresentação php
Apresentação phpApresentação php
Apresentação phpwilliameier
 
Aplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkAplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkFlávio Lisboa
 
Por que jenkins se posso usar deployer php
Por que jenkins se posso usar deployer php Por que jenkins se posso usar deployer php
Por que jenkins se posso usar deployer php Michael Douglas
 

Mais procurados (20)

Contribuindo e criando software livre
Contribuindo e criando software livreContribuindo e criando software livre
Contribuindo e criando software livre
 
PHP: Evolução
PHP: EvoluçãoPHP: Evolução
PHP: Evolução
 
A Evolução do PHP - 4º Dev In Santos
A Evolução do PHP - 4º Dev In SantosA Evolução do PHP - 4º Dev In Santos
A Evolução do PHP - 4º Dev In Santos
 
A Evolução do PHP - A Linguagem Número 1 da Web - PHP Conference Brasil 2013
A Evolução do PHP - A Linguagem Número 1 da Web - PHP Conference Brasil 2013A Evolução do PHP - A Linguagem Número 1 da Web - PHP Conference Brasil 2013
A Evolução do PHP - A Linguagem Número 1 da Web - PHP Conference Brasil 2013
 
Desenvolvimento Mobile Web e PHP na FIPAR
Desenvolvimento Mobile Web e PHP na FIPARDesenvolvimento Mobile Web e PHP na FIPAR
Desenvolvimento Mobile Web e PHP na FIPAR
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porte
 
Segurança em Aplicações Web com PHP
Segurança em Aplicações Web com PHPSegurança em Aplicações Web com PHP
Segurança em Aplicações Web com PHP
 
O ecossistema e o estado atual do php - o presente, o passado e o futuro da ...
O ecossistema e o estado atual do php  - o presente, o passado e o futuro da ...O ecossistema e o estado atual do php  - o presente, o passado e o futuro da ...
O ecossistema e o estado atual do php - o presente, o passado e o futuro da ...
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 
Desenvolvendo mvp com python
Desenvolvendo mvp com pythonDesenvolvendo mvp com python
Desenvolvendo mvp com python
 
Unbreakeable php
Unbreakeable phpUnbreakeable php
Unbreakeable php
 
Xdebug seus problemas acabaram - TDC - PHPeste
Xdebug   seus problemas acabaram - TDC - PHPesteXdebug   seus problemas acabaram - TDC - PHPeste
Xdebug seus problemas acabaram - TDC - PHPeste
 
TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!
TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!
TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!
 
PHPSP TestFest 2010
PHPSP TestFest 2010PHPSP TestFest 2010
PHPSP TestFest 2010
 
Primeira Aula PHP
Primeira Aula PHPPrimeira Aula PHP
Primeira Aula PHP
 
Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!
 
Desenvolvimento web: PHP orientado a objetos
Desenvolvimento web: PHP orientado a objetosDesenvolvimento web: PHP orientado a objetos
Desenvolvimento web: PHP orientado a objetos
 
Apresentação php
Apresentação phpApresentação php
Apresentação php
 
Aplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkAplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend Framework
 
Por que jenkins se posso usar deployer php
Por que jenkins se posso usar deployer php Por que jenkins se posso usar deployer php
Por que jenkins se posso usar deployer php
 

Destaque

Entrevista biodiversidade perigosa
Entrevista   biodiversidade perigosaEntrevista   biodiversidade perigosa
Entrevista biodiversidade perigosaBibJoseRegio
 
Or Siso
Or SisoOr Siso
Or Sisoe27
 
Plakboek Samenwerken In De Brede School
Plakboek Samenwerken In De  Brede  SchoolPlakboek Samenwerken In De  Brede  School
Plakboek Samenwerken In De Brede SchoolStipo
 
Desenvolvendo Rápido com Zend Framework e Eclipse
Desenvolvendo Rápido com Zend Framework e EclipseDesenvolvendo Rápido com Zend Framework e Eclipse
Desenvolvendo Rápido com Zend Framework e EclipseFlávio Lisboa
 
ifuse-chris-pistorius-07-19-13
ifuse-chris-pistorius-07-19-13ifuse-chris-pistorius-07-19-13
ifuse-chris-pistorius-07-19-13Dmytro Kovalchuk
 
BSP Circular 678
BSP Circular 678BSP Circular 678
BSP Circular 678MABSIV
 
Who's Watching Your Club's Stocks?
Who's Watching Your Club's Stocks?Who's Watching Your Club's Stocks?
Who's Watching Your Club's Stocks?Doug Gerlach
 
Developing Marketing and Managing Microinsurance 2
Developing Marketing and Managing Microinsurance 2Developing Marketing and Managing Microinsurance 2
Developing Marketing and Managing Microinsurance 2MABSIV
 
Social Business
Social BusinessSocial Business
Social BusinessLECTRIC
 
Historia Pueblo Saharaui
Historia Pueblo SaharauiHistoria Pueblo Saharaui
Historia Pueblo Saharauinata15
 
Penyempurnaan mp elfasenior (www.elfas678.com)
Penyempurnaan mp elfasenior (www.elfas678.com)Penyempurnaan mp elfasenior (www.elfas678.com)
Penyempurnaan mp elfasenior (www.elfas678.com)elfas678
 
General Capabilities
General CapabilitiesGeneral Capabilities
General CapabilitiesJavier Labbe
 
Put Social Media To Work For You And Your Company
Put Social Media To Work For You And Your CompanyPut Social Media To Work For You And Your Company
Put Social Media To Work For You And Your CompanyKatherine Swartz Hilton
 
Eagle Revisions
Eagle RevisionsEagle Revisions
Eagle RevisionsMABSIV
 

Destaque (20)

Entrevista biodiversidade perigosa
Entrevista   biodiversidade perigosaEntrevista   biodiversidade perigosa
Entrevista biodiversidade perigosa
 
Citrix Vision And Strategy Oct 2009
Citrix Vision And Strategy Oct 2009Citrix Vision And Strategy Oct 2009
Citrix Vision And Strategy Oct 2009
 
Sexualidade
SexualidadeSexualidade
Sexualidade
 
Or Siso
Or SisoOr Siso
Or Siso
 
Plakboek Samenwerken In De Brede School
Plakboek Samenwerken In De  Brede  SchoolPlakboek Samenwerken In De  Brede  School
Plakboek Samenwerken In De Brede School
 
O acivro
O acivroO acivro
O acivro
 
Desenvolvendo Rápido com Zend Framework e Eclipse
Desenvolvendo Rápido com Zend Framework e EclipseDesenvolvendo Rápido com Zend Framework e Eclipse
Desenvolvendo Rápido com Zend Framework e Eclipse
 
Plantão obst
Plantão obstPlantão obst
Plantão obst
 
ifuse-chris-pistorius-07-19-13
ifuse-chris-pistorius-07-19-13ifuse-chris-pistorius-07-19-13
ifuse-chris-pistorius-07-19-13
 
6
66
6
 
BSP Circular 678
BSP Circular 678BSP Circular 678
BSP Circular 678
 
Who's Watching Your Club's Stocks?
Who's Watching Your Club's Stocks?Who's Watching Your Club's Stocks?
Who's Watching Your Club's Stocks?
 
Developing Marketing and Managing Microinsurance 2
Developing Marketing and Managing Microinsurance 2Developing Marketing and Managing Microinsurance 2
Developing Marketing and Managing Microinsurance 2
 
.
..
.
 
Social Business
Social BusinessSocial Business
Social Business
 
Historia Pueblo Saharaui
Historia Pueblo SaharauiHistoria Pueblo Saharaui
Historia Pueblo Saharaui
 
Penyempurnaan mp elfasenior (www.elfas678.com)
Penyempurnaan mp elfasenior (www.elfas678.com)Penyempurnaan mp elfasenior (www.elfas678.com)
Penyempurnaan mp elfasenior (www.elfas678.com)
 
General Capabilities
General CapabilitiesGeneral Capabilities
General Capabilities
 
Put Social Media To Work For You And Your Company
Put Social Media To Work For You And Your CompanyPut Social Media To Work For You And Your Company
Put Social Media To Work For You And Your Company
 
Eagle Revisions
Eagle RevisionsEagle Revisions
Eagle Revisions
 

Semelhante a Palestra Zend Framework PHPSC Conf 2010

Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010
Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010
Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010Flávio Lisboa
 
Code Igniter - O Framework php mais fácil e ágil
Code Igniter - O Framework php mais fácil e ágilCode Igniter - O Framework php mais fácil e ágil
Code Igniter - O Framework php mais fácil e ágilRafael Pinheiro
 
PHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e SeguraPHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e SeguraKleber Silva
 
WebVibe Barueri 2011 - "PHP por quê ?"
WebVibe Barueri 2011 - "PHP por quê ?"WebVibe Barueri 2011 - "PHP por quê ?"
WebVibe Barueri 2011 - "PHP por quê ?"Hélio Costa e Silva
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducaoRegis Magalhães
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducaoRegis Magalhães
 
Orquestrando Aplicações PHP com Symfony
Orquestrando Aplicações PHP com SymfonyOrquestrando Aplicações PHP com Symfony
Orquestrando Aplicações PHP com SymfonyFlávio Lisboa
 
Como o governo do Brasil usa PHP
Como o governo do Brasil usa PHPComo o governo do Brasil usa PHP
Como o governo do Brasil usa PHPFlávio Lisboa
 
Composer dependency manager
Composer   dependency managerComposer   dependency manager
Composer dependency managerVitor Mattos
 

Semelhante a Palestra Zend Framework PHPSC Conf 2010 (20)

Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010
Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010
Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010
 
Evolucao php2
Evolucao php2Evolucao php2
Evolucao php2
 
Code Igniter - O Framework php mais fácil e ágil
Code Igniter - O Framework php mais fácil e ágilCode Igniter - O Framework php mais fácil e ágil
Code Igniter - O Framework php mais fácil e ágil
 
Panorama PHP
Panorama PHPPanorama PHP
Panorama PHP
 
PHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e SeguraPHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e Segura
 
WebVibe Barueri 2011 - "PHP por quê ?"
WebVibe Barueri 2011 - "PHP por quê ?"WebVibe Barueri 2011 - "PHP por quê ?"
WebVibe Barueri 2011 - "PHP por quê ?"
 
PHP Presente e Futuro
PHP Presente e FuturoPHP Presente e Futuro
PHP Presente e Futuro
 
Muito prazer, eu sou PHP
Muito prazer, eu sou PHPMuito prazer, eu sou PHP
Muito prazer, eu sou PHP
 
php 01 introducao
php 01 introducaophp 01 introducao
php 01 introducao
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Divulgação 4.php
Divulgação 4.phpDivulgação 4.php
Divulgação 4.php
 
Orquestrando Aplicações PHP com Symfony
Orquestrando Aplicações PHP com SymfonyOrquestrando Aplicações PHP com Symfony
Orquestrando Aplicações PHP com Symfony
 
PHP Community Spirit
PHP Community SpiritPHP Community Spirit
PHP Community Spirit
 
Apresentação Flash Camp Rio 2010 by Raphael Vinicius
Apresentação Flash Camp Rio 2010 by Raphael ViniciusApresentação Flash Camp Rio 2010 by Raphael Vinicius
Apresentação Flash Camp Rio 2010 by Raphael Vinicius
 
Como o governo do Brasil usa PHP
Como o governo do Brasil usa PHPComo o governo do Brasil usa PHP
Como o governo do Brasil usa PHP
 
Ppt Flex Mania
Ppt Flex ManiaPpt Flex Mania
Ppt Flex Mania
 
Composer dependency manager
Composer   dependency managerComposer   dependency manager
Composer dependency manager
 
Apresentação do grupo PHPMS
Apresentação do grupo PHPMSApresentação do grupo PHPMS
Apresentação do grupo PHPMS
 
Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
 

Mais de Flávio Lisboa

Criando testes integrados de APIs com PHP
Criando testes integrados de APIs com PHPCriando testes integrados de APIs com PHP
Criando testes integrados de APIs com PHPFlávio Lisboa
 
Cooperativas de Software Livre: Uma comparação entre Brasil e Argentina
Cooperativas de Software Livre: Uma comparação entre Brasil e ArgentinaCooperativas de Software Livre: Uma comparação entre Brasil e Argentina
Cooperativas de Software Livre: Uma comparação entre Brasil e ArgentinaFlávio Lisboa
 
Aprenda a afiar suas garras com Laminas
Aprenda a afiar suas garras com LaminasAprenda a afiar suas garras com Laminas
Aprenda a afiar suas garras com LaminasFlávio Lisboa
 
Ciência e software livre: desenvolvendo com método
Ciência e software livre: desenvolvendo com métodoCiência e software livre: desenvolvendo com método
Ciência e software livre: desenvolvendo com métodoFlávio Lisboa
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHPFlávio Lisboa
 
O que esperar do framework Laminas
O que esperar do framework LaminasO que esperar do framework Laminas
O que esperar do framework LaminasFlávio Lisboa
 
PHP Conference Brazil - What can we expect about framework Laminas?
PHP Conference Brazil - What can we expect about framework Laminas?PHP Conference Brazil - What can we expect about framework Laminas?
PHP Conference Brazil - What can we expect about framework Laminas?Flávio Lisboa
 
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019Algoritmos Genéticos em PHP - PHP Conference Brasil 2019
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019Flávio Lisboa
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHPFlávio Lisboa
 
Como se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoComo se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoFlávio Lisboa
 
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHPA demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHPFlávio Lisboa
 
Comunicação e padrões em código aberto: quando convergente e divergente cooperam
Comunicação e padrões em código aberto: quando convergente e divergente cooperamComunicação e padrões em código aberto: quando convergente e divergente cooperam
Comunicação e padrões em código aberto: quando convergente e divergente cooperamFlávio Lisboa
 
Criação de robôs em PHP para raspagem de dados
Criação de robôs em PHP para raspagem de dadosCriação de robôs em PHP para raspagem de dados
Criação de robôs em PHP para raspagem de dadosFlávio Lisboa
 
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de Dados
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de DadosEstudo de Caso: Utilização de PHP no Serviço Federal de Processamento de Dados
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de DadosFlávio Lisboa
 
Arquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosArquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosFlávio Lisboa
 
Semeando Liberdade: Como (e onde) o software livre inclui as pessoas
Semeando Liberdade: Como (e onde) o software livre inclui as pessoasSemeando Liberdade: Como (e onde) o software livre inclui as pessoas
Semeando Liberdade: Como (e onde) o software livre inclui as pessoasFlávio Lisboa
 
O que é programação de computadores
O que é programação de computadoresO que é programação de computadores
O que é programação de computadoresFlávio Lisboa
 
Economia em rede (comunidade)
Economia em rede (comunidade)Economia em rede (comunidade)
Economia em rede (comunidade)Flávio Lisboa
 
Aplicações Corporativas em PHP (CRM e ERP)
Aplicações Corporativas em PHP (CRM e ERP)Aplicações Corporativas em PHP (CRM e ERP)
Aplicações Corporativas em PHP (CRM e ERP)Flávio Lisboa
 

Mais de Flávio Lisboa (20)

Criando testes integrados de APIs com PHP
Criando testes integrados de APIs com PHPCriando testes integrados de APIs com PHP
Criando testes integrados de APIs com PHP
 
Cooperativas de Software Livre: Uma comparação entre Brasil e Argentina
Cooperativas de Software Livre: Uma comparação entre Brasil e ArgentinaCooperativas de Software Livre: Uma comparação entre Brasil e Argentina
Cooperativas de Software Livre: Uma comparação entre Brasil e Argentina
 
Aprenda a afiar suas garras com Laminas
Aprenda a afiar suas garras com LaminasAprenda a afiar suas garras com Laminas
Aprenda a afiar suas garras com Laminas
 
Ciência e software livre: desenvolvendo com método
Ciência e software livre: desenvolvendo com métodoCiência e software livre: desenvolvendo com método
Ciência e software livre: desenvolvendo com método
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHP
 
O que esperar do framework Laminas
O que esperar do framework LaminasO que esperar do framework Laminas
O que esperar do framework Laminas
 
PHP Conference Brazil - What can we expect about framework Laminas?
PHP Conference Brazil - What can we expect about framework Laminas?PHP Conference Brazil - What can we expect about framework Laminas?
PHP Conference Brazil - What can we expect about framework Laminas?
 
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019Algoritmos Genéticos em PHP - PHP Conference Brasil 2019
Algoritmos Genéticos em PHP - PHP Conference Brasil 2019
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHP
 
Como se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoComo se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundo
 
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHPA demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
A demanda da santa entrega Batman: bugs e gargalos em aplicações PHP
 
Comunicação e padrões em código aberto: quando convergente e divergente cooperam
Comunicação e padrões em código aberto: quando convergente e divergente cooperamComunicação e padrões em código aberto: quando convergente e divergente cooperam
Comunicação e padrões em código aberto: quando convergente e divergente cooperam
 
Criação de robôs em PHP para raspagem de dados
Criação de robôs em PHP para raspagem de dadosCriação de robôs em PHP para raspagem de dados
Criação de robôs em PHP para raspagem de dados
 
Amanhecer esmeralda
Amanhecer esmeraldaAmanhecer esmeralda
Amanhecer esmeralda
 
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de Dados
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de DadosEstudo de Caso: Utilização de PHP no Serviço Federal de Processamento de Dados
Estudo de Caso: Utilização de PHP no Serviço Federal de Processamento de Dados
 
Arquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosArquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviços
 
Semeando Liberdade: Como (e onde) o software livre inclui as pessoas
Semeando Liberdade: Como (e onde) o software livre inclui as pessoasSemeando Liberdade: Como (e onde) o software livre inclui as pessoas
Semeando Liberdade: Como (e onde) o software livre inclui as pessoas
 
O que é programação de computadores
O que é programação de computadoresO que é programação de computadores
O que é programação de computadores
 
Economia em rede (comunidade)
Economia em rede (comunidade)Economia em rede (comunidade)
Economia em rede (comunidade)
 
Aplicações Corporativas em PHP (CRM e ERP)
Aplicações Corporativas em PHP (CRM e ERP)Aplicações Corporativas em PHP (CRM e ERP)
Aplicações Corporativas em PHP (CRM e ERP)
 

Palestra Zend Framework PHPSC Conf 2010

  • 1. Zend Framework: Reuso e padrões para fácil manutenção Flávio Gomes da Silva Lisboa www.fgsl.eti.br
  • 2. Quem sou eu? www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 3. Agenda: 1)Você tem problemas (isso você já sabia) 2)Os problemas são mais graves do que você pensa 3)Eles vão piorar com o tempo 4)Você está perdido, ferrado, lascado, etc... 5)POG e XGH não vão te ajudar Fonte: tokyostudent.blogspot.com www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 4. Agenda: Mas existe esperança! Fonte: eupodiatamatando.com www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 5. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil O QUE É SOFTWARE? www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 6. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil O QUE É SOFTWARE? CÓDIGO-FONTE DOCUMENTAÇÃO Fonte: downloads.open4group.com Fonte: rhjunior.com.br www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 7. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil O QUE É SOFTWARE? CÓDIGO-FONTE DOCUMENTAÇÃO www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 8. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil DESENVOLVIMENTO DE SOFTWARE DESORGANIZADO www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 9. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil DESENVOLVIMENTO DE SOFTWARE DESORGANIZADO O SOBRINHO Fonte: apeedpedroiv.no.sapo.pt www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 10. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil DESENVOLVIMENTO DE SOFTWARE DESORGANIZADO PLANO DE CARREIRA DO SOBRINHO ATIRA! XGH SÊNIOR PENSA POG PLENO PESQUISA CCF?B! JÚNIOR www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 11. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil DESENVOLVIMENTO DE SOFTWARE DESORGANIZADO Fonte: pelamordedeus.com.br www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 12. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil DESENVOLVIMENTO DE SOFTWARE ORGANIZADO Fonte: anarquiweb.com www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 13. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil DESENVOLVIMENTO DE SOFTWARE ORGANIZADO Fonte: anarquiweb.com www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 14. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil DESENHAR RETÂNGULOS É LEGAL... Fonte: ciqs.fe.up.pt www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 15. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil … MAS A REALIDADE É ESTA: “A construção [de código] toma normalmente de 30% a 80% do tempo total [de desenvolvimento]”. Steve McConnel (2005) www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 16. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil CÓDIGO-FONTE É UMA PRAGA! Fonte: planetaignis.blogspot.com www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 17. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil CÓDIGO-FONTE É ERVA DANINHA! www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 18. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil CÓDIGO-FONTE É COELHO NA AUSTRÁLIA! Fonte: educ.fc.ul.pt www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 19. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil FATOS: DESENVOLVER = GERAR CÓDIGO-FONTE + CÓDIGO-FONTE → + COMPLEXO + COMPLEXO → + DIFÍCIL DE MANTER + DIFÍCIL DE MANTER → + CARO www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 20. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil FATOS: DIFÍCIL DE MANTER => DEMORA PRA MUDAR TEMPO = DINHEIRO Fonte: castelodosaprendizes.com Fonte: titoreccocom.blogspot.com SE VOCÊ NÃO TEM TEMPO, LOGO VOCÊ NÃO TEM DINHEIRO www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 21. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil PHP NAS MÃOS CERTAS... Fonte: asagastarwars.site90.com www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 22. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil PHP NAS MÃOS ERRADAS... Fonte: foreignerinformosa.typepad.com www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 23. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Forma inadequada de uso algumacoisa.php <html> <body> <?php while($entrarNaCabeca == false){ echo “Vou escrever código reusável”; } ?> </body> </html> www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 24. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Palavras-chave: Manutenção Fonte: lucianomende.blogspot.com Fonte: silverferramentas.com.br Reuso www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 25. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Padrão de Projeto www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 26. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Cada padrão descreve um problema que ocorre repetidamente em nosso ambiente... www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 27. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Cada padrão descreve o núcleo da solução para esse problema... www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 28. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil … de forma tal que você pode usar essa solução milhões de vezes... www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 29. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil … sem nunca fazê-la da mesma forma duas vezes. * Christopher Alexander www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 30. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil O QUE UM PADRÃO DE PROJETO É ● Um modelo de solução comprovada ● Uma linguagem comum para desenvolvedores ● Útil para compreender frameworks SOLUÇÕES REUTILIZÁVEIS www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 31. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil O QUE UM PADRÃO DE PROJETO NÃO É ● A solução para todos os problemas de projeto ● Implementação final ● Panacéia www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 32. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil “Frameworks são o mais alto nível de reuso. Eles tentam destilar o projeto de software e identificar as abstrações-chave para resolver um problema”. Erich Gamma em entrevista a Bill Venners www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 33. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil “Construir um framework é um alto risco e um investimento significativo”.Erich Gamma em entrevista a Bill Venners www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 34. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil “Se você realmente quer assumir o risco de construir frameworks, você quer ter os menores e mais focados frameworks que você também pode provavelmente tornar opcionais”. Erich Gamma em entrevista a Bill Venners www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte Zend Framework
  • 35. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil O que é Zend Framework? www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 36. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Um framework Título da Apresentação completo? Uma biblioteca de componentes? www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 37. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil As duas coisas Fonte: 0001coisas.blogspot.com www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 38. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Ou até mais que isso www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte Zend Framework
  • 39. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil MVC Controller View Data Database XML Search Core PDF Security Cache Web Services Acl Config Feed i18n Auth Log Client Locale Date Filter Registry Server Translate Calendar Validate Session Services Measure Currency www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 40. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Zend Framework é uma biblioteca de componentes fracamente acoplados. www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 41. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Pra quem só quer trocar uma peça e não o carro inteiro... Fonte: info.abril.com.br www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 42. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Arquitetura Self-Service www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 43. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Outros frameworks podem usar componentes do Zend www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 44. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Zend Framework é um framework extensível e flexível. Fonte: emule.com.br Fonte: online-naweb.blogspot.com www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 45. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil ZF pode usar outros frameworks e componentes como se fossem realmente parte dele www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 46. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Mais do que isso! A arquitetura do Zend Framework aproveita o modelo de negócio de software livre e evita forks! www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 47. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil METODOLOGIA “NÃO QUERO PAGAR E TENHO PRAZO PRA ENTREGAR” 1. TENHO UM PROBLEMA! 2. USO A COMUNIDADE 3. NÃO POSSO ESPERAR! 6. E SE TIVER QUE FAZER 5. RESOLVI O PROBLEMA! MANUTENÇÃO? 4. FAÇO UM FORK (OU POG) (PELO MENOS AGORA...) www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 48. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil METODOLOGIA “O ZEN DO ZEND FRAMEWORK” 1. TENHO UM PROBLEMA! 2. USO A COMUNIDADE 3. NÃO POSSO ESPERAR! 6. O QUE FOI PRA 4. ESTENDO, USANDO 5. RESOLVI O PROBLEMA COMUNIDADE SERÁ A INTERFACE PADRÃO, DIREITO! TESTADO, APERFEIÇOADO E E SUBMETO PRA COMUNIDADE PODEREI UTILIZAR SEM CAUSAR IMPACTO NA APLICAÇÃO! www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 49. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil COMUNIDADE SOLUÇÃO SOLUÇÃO IMEDIATA APERFEIÇOADA $al = Zend_Loader_Autoloader::getInstance(); $al->registerNamespace('Serpro_'); $al->registerNamespace(array('Celepar_', 'Dataprev_', 'MEC_')); www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 50. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Parceiros e InvestidoresTítulo da Apresentação www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 51. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Licença new BSD CLA – Contributor License Agreement www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 52. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Características e Funcionalidades www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 53. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil MVC Controller View www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 54. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil O Controlador observa a Visão Controller View Model www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 55. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil O Controlador obtém dados da Visão Controller View Model www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 56. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil O Controlador atualiza o Modelo Controller View Model www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 57. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil O Modelo notifica a Visão Controller View Model www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 58. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil A Visão obtém os dados do Modelo Controller View Model www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 59. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil CLIENT V HTTP HTTP REQUEST RESPONSE SERVER C M www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 60. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Que lindo! www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 61. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Mas a realidade é mais dura... www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 62. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Quebra de Paradigma www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 63. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil O Controlador não observa a Visão Controller View Model www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 64. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil A Visão não observa o Modelo Controller View Model www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 65. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil A Visão não fala com o Controlador Front Controller Controller View Model www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 66. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Toda requisição vai para o Front Controller Front Controller Controller HTTP REQUEST View Model www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 67. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil O Front Controller designa um Page Controller Front EXECUTE Controller Controller HTTP REQUEST View Model www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 68. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil A Visão obtém os dados do Modelo... Front EXECUTE Controller Controller HTTP REQUEST GET DATA View Model www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 69. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil ...atualizados pelo Controlador Front EXECUTE Controller Controller HTTP SET DATA REQUEST GET DATA View Model www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 70. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil CONTROLADOR FRONTAL CASTELO DE BODIAM, INGLATERRA www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 71. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil CONTROLADOR Padrão de Projeto: Controlador de página <?php class IndexController extends Zend_Controller_Action { public function init() { /* Initialize action controller here */ } public function indexAction() { // action body } } www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 72. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil CONTROLADOR Controlador de erros class ErrorController extends Zend_Controller_Action { public function errorAction() { $errors = $this->_getParam('error_handler'); switch ($errors->type) { case 'EXCEPTION_NO_CONTROLLER': case 'EXCEPTION_NO_ACTION': // 404 error -- controller or action not found $this->getResponse()->setHttpResponseCode(404); $this->view->message = 'Page not found'; break; default: // application error $this->getResponse()->setHttpResponseCode(500); $this->view->message = 'Application error'; break; } www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte Zend
  • 73. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil MODELO Cláudia Schiffer Naomi Campbell Riyo Mori www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 74. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil MODELO Não tem Zend_Model... Mas tem: ►Zend_Db_Table ►Zend_Feed ►Zend_Rest ►Zend_Service ►Zend_Soap ►Zend_XmlRpc ►Zend_Search_Lucene ... www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 75. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil MODELO Zend_Db_Table ►Mapeia tabelas relacionais para classes PHP. ►Define relacionamentos e restrições no modelo. ►Permite construir consultas orientadas a objeto com Zend_Db_Table_Select. ►Não obriga a criação de classes PHP (>1.10), pode criar modelos dinamicamente. ►Pode ser usado de dois modos: →Tenho saudade de SQL → Active Record www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 76. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil VISÃO Para a interface com o usuário, Zend Framework usa o padrão de projeto Vista em Duas Etapas. 1) Primeiro ele transforma dos dados provenientes do modelo, ou enviados pelo controlador, em uma apresentação lógica, sem qualquer formatação específica (Zend_View) 2) Depois, ele converte essa apresentação lógica na formatação real necessária (Zend_Layout) www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 77. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil VISÃO Um layout pode servir para várias páginas: CSS Javascript Layout Página 1 Página 2 Página 3 Página 4 Página 5 CONTEÚDO, NO CORPO DO DOCUMENTO www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 78. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil VISÃO Zend_View permite reutilização de componente de visão: view partials Visão Principal Partial 1 Partial 2 Partial 3 Partials podem ser reaproveitados www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 79. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Um projeto MVC pode ser criado rapidamente com Zend Tool. Ele pode ser executado na linha de comando ou integrado com IDEs como Eclipse e Netbeans. SEM APRISIONAMENTO POR IDE'S! www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 80. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil DÁ PRA LIGAR SEM CONTROLE REMOTO! # Unix: % zf.sh create project quickstart # DOS/Windows: C:> zf.bat create project quickstart www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 81. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil quickstart |-- application | |-- Bootstrap.php | |-- configs | | `-- application.ini | |-- controllers | | |-- ErrorController.php | | `-- IndexController.php | |-- models | `-- views | |-- helpers | `-- scripts | |-- error | | `-- error.phtml | `-- index | `-- index.phtml |-- library |-- public | `-- index.php `-- tests |-- application | `-- bootstrap.php |-- library | `-- bootstrap.php www.fgsl.eti.br Éphpunit.xml desde que citada a fonte `-- permitida a reprodução, Zend
  • 82. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Fluxo da requisição e plugins C www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 83. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Security Acl CODIFICAÇÃO Auth SEGURA Filter integração Validate Zend_Form www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 84. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Data Database PDO XML Search NO SQL INJECTION PDF www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 85. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Core Cache Config Log Registry INI, XML, PHP... Session www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 86. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil XML-RPC SOAP Web Services REST Feed Client Server Services www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 87. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Web Services Feed Client Server COMPUTAÇÃO EM NUVEM COM PHP Services www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 88. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil INTERNACIONALIZAÇÃO Locale Date Translate Calendar Measure Currency www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 89. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil DEBUG DOM FILE NAVIGATION FORM PAGINATOR MAIL TEST ... www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 90. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil LEMBRE-SE DISSO: A Melhor maneira de reduzir Riscos no Desenvolvimento de Software é NÃO DESENVOLVER! GRADY BOOCH, um dos criadores da UML www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 91. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil NÃO DESENVOLVA! REUSE! E NÃO SE ESQUEÇA DISSO! www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 92. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil MENSAGEM SUBLIMINAR: USE ZEND FRAMEWORK! www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 93. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil ALGUMA PERGUNTA? http://framework.zend.com www.zfbrasil.com www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte
  • 94. PHPSC Conf 2010 – um dos maiores eventos de PHP do Brasil Obrigado! Fonte: carlosbritto.com Mas precisamos de tradutores! http://groups.google.com.br/group/zfdoc-ptbr www.fgsl.eti.br É permitida a reprodução, desde que citada a fonte