@fgsl           Zend Framework    PHP Simples e Produtivo                                        Flávio Gomes da Silva Lis...
@fgsl           Livre distribuição    Desde que citada a fonte                                        Flávio Gomes da Silv...
@fgsl     Quem sou eu?    www.fgsl.eti.br            
@fgsl    Do que vamos falar?      Simplicidade            +      Produtividade              
@fgsl          Simplicidade                Mito:Só coisas complicadas tem qualidade                   
@fgsl        A princípio impressiona...A  prosopopeia  flácida  para  acalentar  bovinos inflou o volume de minha bolsa es...
@fgsl             Já ouviu isso?     Não entendi nada do que ele     falou. Esse cara deve ser bom!                    
@fgsl            Mas era só isso...     Aquela conversa pra boi dormir     estava me enchendo o saco e eu      queria chut...
@fgsl        Olha quem está falando...Qualquer  tolo  inteligente  pode  fazer  coisas grandes,  mais  complexas  e  mais ...
@fgsl        Olha quem está falando...A maioria das ideias fundamentais da ciência são essencialmente  simples,  e  podem,...
@fgsl              Essência do PHPA  solução  mais  complexa  raramente  é  a  certa. (…)  enquanto  outras  soluções  que...
@fgsl    PHP é objetivo           
@fgsl    PHP é eficaz          
@fgsl      Produtividade    O que é produtividade?               
@fgsl    Não é isso, certamente...                 
@fgsl    Talvez isso...           
@fgsl    Não, não, é mais que isso...                  
@fgsl    PHP é produtivo            
@fgsl    Mas cuidado...           
@fgsl      fazer rápido X fazer bem feito    Rápido   Bem feito        Rápido                                   Bem feito ...
@fgsl    fazer rápido X fazer bem feito        Arrumar o escapamento                   
@fgsl    fazer rápido X fazer bem feito        Reaproveitar o gabinete                    
@fgsl       fazer rápido X fazer bem feito    Adaptar o carro para rodar na Inglaterra                         
@fgsl                    FatosFazer  algo  rápido  pode  gerar  complexidade, enquanto  fazer  algo  bem  feito  pode  ger...
@fgsl                      FatosAlgo  criado  para  resolver  um  problema  pode  se tornar um problema.                  ...
@fgsl                      FatosA  situação  crítica  é  quando  você  não  consegue mudar  algo  mal  feito  por  precisa...
@fgsl    Fatos       
@fgsl                     Fatos    CPOP: Copy & Paste Oriented Programming                  Dead Code            CBI: Cros...
@fgsl    O que devo fazer?             
@fgsl                Recomendações                     Newton                            Copernico        Galileu    Desca...
@fgsl    Recomendações           
@fgsl                  Recomendações       Utilize a experiência de especialistas.    Repita projetos de sucesso feitos po...
@fgsl    E você pergunta...                  COMO?             
@fgsl         E eu respondo:    Use padrões de     projetos e boas         práticas                    
@fgsl    E você pergunta...           Mas os padrões são           apenas um modelo de           solução! Eu tenho que    ...
@fgsl          E eu respondo:    Então use frameworks!                 
@fgsl            E eu respondo:    Ou melhor, use Zend Framework!                    
@fgsl             QuestãoO que é Zend Framework?                  
@fgsl    É a Liga da Justiça              
@fgsl    São os Vingadores!             
@fgsl               Ou seja...           É uma biblioteca de      componentes PHP com baixo       acoplamento que podem se...
@fgsl        A volta ao mundo em ~70               componentes    De A a Z, o que podemos fazer         com Zend Framework...
@fgsl              Zend_Acl    Lista de controle de acessos.      Trabalha com a abordagem      RBAC (Role Based Access   ...
@fgsl              Zend_Amf     AMF (Action Message Format).     Integração com com Adobe Flex.                   
@fgsl            Zend_Application       Encapsula a inicialização e     processamento das requisições.                    
@fgsl              Zend_Auth         Componente que faz     autenticação, independente do     motor, e mantém os dados em ...
@fgsl    Zend_Barcode          
@fgsl    Zend_Cache         
@fgsl    Zend_Captcha          
@fgsl             Zend_Cloud    Componente para abstração de      recursos de computação em                nuvem.         ...
@fgsl    Zend_CodeGenerator            ...              
@fgsl             Zend_Config    Lê e escreve nos formatos INI,          XML, YAML e JSON.                    
@fgsl          Zend_Console_Getopt    Facilita a criação de interfaces        para linha de comando.                     
@fgsl            Zend_Controller    Implementação dos padrões de      projeto Front Controller, Page     Controller, com U...
@fgsl             Zend_Currency    Implementa o padrão de projeto     Currency, para abstrair moedas.                  i18...
@fgsl              Zend_Date    Abstração de data e hora. i18n.                    
@fgsl             Zend_Db     Abstração de conexão com     banco de dados e mapeador           objeto­relacional.         ...
@fgsl           Zend_Debug    Componente para ajudar a       depurar aplicações.                 
@fgsl            Zend_Dojo    Integração com o framework        Javascript Dojo Toolkit.                  
@fgsl            Zend_Dom    Manipulação da árvore DOM.                 
@fgsl     Zend_Exception    Exceção padrão.            
@fgsl           Zend_Feed    Leitor e escritor de RSS.                 
@fgsl              Zend_File    Transferência de arquivos com          validadores e filtros.                   
@fgsl            Zend_Filter    Filtro de entrada e saída de                dados.                   
@fgsl          Zend_Form    Construção dinâmica de          formulários.                
@fgsl          Zend_GDataIntegração com a API do Google.                
@fgsl            Zend_Http    Abstração de requisições e             respostas.                  
@fgsl             Zend_Infocard    Utilizado por Zend_Auth, abstrai           cartões de identidade.                     
@fgsl            Zend_Json    Conversor e servidor JSON.                 
@fgsl             Zend_Layout    Parte do padrão Two Step View.                   
@fgsl              Zend_Ldap    Integração com serviços LDAP.                   
@fgsl           Zend_Loader    Autocarregador de classes.                 
@fgsl            Zend_Locale    Componente para localização              (l10n).                  
@fgsl        Zend_Log    Abstração de log.             
@fgsl         Zend_Mail    Abstração de e­mail.              
@fgsl              Zend_Markup    Abstração para leitura e geração      de documentos baseados em        linguagem de marc...
@fgsl           Zend_Measure    Abstração de medidas. i18n.                  
@fgsl           Zend_Memory    Objetos para ambientes com       limitações de memória.                  
@fgsl               Zend_Mime      Manipulador de mensagens     MIME (Multipurpose Internet Mail        Extensions), usado...
@fgsl           Zend_Navigation    Controlador da navegação do     usuário, gerencia árvores de     ponteiros para páginas...
@fgsl              Zend_Oauth    Implementação da especificação      Oauth para autorização segura.                    
@fgsl         Zend_OpenId    Encapsula OpenId para         autenticação.               
@fgsl            Zend_Paginator    Controle de paginação de dados.                    
@fgsl            Zend_Pdf    Geração e carregamento de           arquivos PDF.                 
@fgsl           Zend_ProgressBar    Geração de barra de progresso.                   
@fgsl             Zend_Queue    Fábrica de clientes para filas.                    
@fgsl            Zend_Reflection    Extensão da API de reflexão do                 PHP.                    
@fgsl           Zend_Registry    Implementação do padrão de          projeto Registry.                  
@fgsl             Zend_Rest    Clientes e servidores REST.                  
@fgsl         Zend_Search_Lucene    Mecanismo de busca baseado         no Apache Lucene.                  
@fgsl        Zend_Serializer    Fábrica de formatos de          serialização.                
@fgsl           Zend_Server    Abstração para criação de     servidores (provedores de             serviços).             ...
@fgsl           Zend_Service    Abstração para serviços de      terceiros, possui diversas      implementações prontas.   ...
@fgsl             Zend_Session    Abstração da sessão. Controla     início, fim e cria namespaces.                   
@fgsl           Zend_Soap    Servidor e cliente SOAP.                
@fgsl            Zend_Tag    Criação de listas de tags.                 
@fgsl            Zend_Test     Extensão do PHPUnit para     aplicações Zend Framework.                 
@fgsl            Zend_TextClasses para criar artes e tabelas       baseadas em texto.                  
@fgsl           Zend_TimeSync       Recupera data e hora de     servidores NTP (Network Time       Protocol) ou SNTP (Simp...
@fgsl              Zend_Tool    Gerador de código e framework       para criação de geradores.                   
@fgsl         Zend_Translate    Tradução de textos. i18n.                 
@fgsl        Zend_Uri    Abstração de URI.             
@fgsl            Zend_Validate    Regras de validação de dados.                   
@fgsl        Zend_Version    Versão do framework.              
@fgsl               Zend_View     Implementação da camada de     visão. Usa por padrão templates          com extensão .ph...
@fgsl             Zend_Wildfire    Wildfire é um projeto open source       para canais de comunicação     padronizados. O ...
@fgsl            Zend_XmlRpc    Cliente e servidor de XML­RPC.                   
@fgsl    UFA!      
@fgsl                        Perguntas?flaviogomesdasilva@yahoo.com.brwww.fgsl.eti.br http://www.temporealeventos.com.br  ...
@fgsl                         Obrigado!flaviogomesdasilva@yahoo.com.brwww.fgsl.eti.br http://www.temporealeventos.com.br  ...
@fgsl                          Referências    Holmes, Josh. The Lost Art of Simplicity.             PHP Conference 2010.  ...
Próximos SlideShares
Carregando em…5
×

PHP Simples e Produtivo

5.906 visualizações

Publicada em

Palestra apresentada na TDC - The Developers Conference, em São Paulo, em 2011.

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

Sem downloads
Visualizações
Visualizações totais
5.906
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3.096
Ações
Compartilhamentos
0
Downloads
129
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

PHP Simples e Produtivo

  1. 1. @fgsl Zend Framework PHP Simples e Produtivo    Flávio Gomes da Silva Lisboa ­ www.fgsl.eti.br 
  2. 2. @fgsl Livre distribuição Desde que citada a fonte    Flávio Gomes da Silva Lisboa ­ www.fgsl.eti.br 
  3. 3. @fgsl Quem sou eu? www.fgsl.eti.br   
  4. 4. @fgsl Do que vamos falar? Simplicidade + Produtividade   
  5. 5. @fgsl Simplicidade Mito:Só coisas complicadas tem qualidade   
  6. 6. @fgsl A princípio impressiona...A  prosopopeia  flácida  para  acalentar  bovinos inflou o volume de minha bolsa escrotal de modo que estava para derrubar, com a extremidade do membro  inferior,  o  suporte  sustentáculo  de  uma das unidades de acampamento.   
  7. 7. @fgsl Já ouviu isso? Não entendi nada do que ele  falou. Esse cara deve ser bom!   
  8. 8. @fgsl Mas era só isso... Aquela conversa pra boi dormir  estava me enchendo o saco e eu  queria chutar o pau da barraca.   
  9. 9. @fgsl Olha quem está falando...Qualquer  tolo  inteligente  pode  fazer  coisas grandes,  mais  complexas  e  mais  violentas.  É preciso  um  toque  de  gênio  –  e  um  pouco  de coragem – para se mover na direção oposta. Albert Einstein   
  10. 10. @fgsl Olha quem está falando...A maioria das ideias fundamentais da ciência são essencialmente  simples,  e  podem,  como  regra, ser  expressas  em  uma  linguagem  compressível para todos. Albert Einstein   
  11. 11. @fgsl Essência do PHPA  solução  mais  complexa  raramente  é  a  certa. (…)  enquanto  outras  soluções  que  nos  cercam parecem  ficar  maiores  e  mais  complexas, estamos  nos  esforçando  para  simplificar  e racionalizar o PHP (...). Rasmus Lerdorf   
  12. 12. @fgsl PHP é objetivo   
  13. 13. @fgsl PHP é eficaz   
  14. 14. @fgsl Produtividade O que é produtividade?   
  15. 15. @fgsl Não é isso, certamente...   
  16. 16. @fgsl Talvez isso...   
  17. 17. @fgsl Não, não, é mais que isso...   
  18. 18. @fgsl PHP é produtivo   
  19. 19. @fgsl Mas cuidado...   
  20. 20. @fgsl fazer rápido X fazer bem feito Rápido Bem feito Rápido Bem feito Rápido  e bem  feito   
  21. 21. @fgsl fazer rápido X fazer bem feito Arrumar o escapamento   
  22. 22. @fgsl fazer rápido X fazer bem feito Reaproveitar o gabinete   
  23. 23. @fgsl fazer rápido X fazer bem feito Adaptar o carro para rodar na Inglaterra   
  24. 24. @fgsl FatosFazer  algo  rápido  pode  gerar  complexidade, enquanto  fazer  algo  bem  feito  pode  gerar simplicidade.   
  25. 25. @fgsl FatosAlgo  criado  para  resolver  um  problema  pode  se tornar um problema.   
  26. 26. @fgsl FatosA  situação  crítica  é  quando  você  não  consegue mudar  algo  mal  feito  por  precisar  dele  para contornar um problema maior.   
  27. 27. @fgsl Fatos   
  28. 28. @fgsl Fatos CPOP: Copy & Paste Oriented Programming Dead Code CBI: Cross Bug Injection TDB: Total Destruction Button   
  29. 29. @fgsl O que devo fazer?   
  30. 30. @fgsl Recomendações Newton    Copernico Galileu Descartes
  31. 31. @fgsl Recomendações   
  32. 32. @fgsl Recomendações Utilize a experiência de especialistas. Repita projetos de sucesso feitos por outras  pessoas. Não reinvente a roda.                                      
  33. 33. @fgsl E você pergunta... COMO?   
  34. 34. @fgsl E eu respondo: Use padrões de  projetos e boas  práticas   
  35. 35. @fgsl E você pergunta... Mas os padrões são  apenas um modelo de  solução! Eu tenho que  implementá­los!   
  36. 36. @fgsl E eu respondo: Então use frameworks!   
  37. 37. @fgsl E eu respondo: Ou melhor, use Zend Framework!   
  38. 38. @fgsl QuestãoO que é Zend Framework?   
  39. 39. @fgsl É a Liga da Justiça   
  40. 40. @fgsl São os Vingadores!   
  41. 41. @fgsl Ou seja... É uma biblioteca de  componentes PHP com baixo  acoplamento que podem ser  utilizados de forma separada ou  em conjunto para construção ou  manutenção de projetos.   
  42. 42. @fgsl A volta ao mundo em ~70  componentes De A a Z, o que podemos fazer  com Zend Framework   
  43. 43. @fgsl Zend_Acl Lista de controle de acessos.  Trabalha com a abordagem  RBAC (Role Based Access  Control)   
  44. 44. @fgsl Zend_Amf AMF (Action Message Format).  Integração com com Adobe Flex.   
  45. 45. @fgsl Zend_Application Encapsula a inicialização e  processamento das requisições.   
  46. 46. @fgsl Zend_Auth Componente que faz  autenticação, independente do  motor, e mantém os dados em  armazenamento próprio.   
  47. 47. @fgsl Zend_Barcode   
  48. 48. @fgsl Zend_Cache   
  49. 49. @fgsl Zend_Captcha   
  50. 50. @fgsl Zend_Cloud Componente para abstração de  recursos de computação em  nuvem.   
  51. 51. @fgsl Zend_CodeGenerator ...   
  52. 52. @fgsl Zend_Config Lê e escreve nos formatos INI,  XML, YAML e JSON.   
  53. 53. @fgsl Zend_Console_Getopt Facilita a criação de interfaces  para linha de comando.   
  54. 54. @fgsl Zend_Controller Implementação dos padrões de  projeto Front Controller, Page  Controller, com URLs amigáveis  e roteamento personalizado.   
  55. 55. @fgsl Zend_Currency Implementa o padrão de projeto  Currency, para abstrair moedas.  i18n.   
  56. 56. @fgsl Zend_Date Abstração de data e hora. i18n.   
  57. 57. @fgsl Zend_Db Abstração de conexão com  banco de dados e mapeador  objeto­relacional.   
  58. 58. @fgsl Zend_Debug Componente para ajudar a  depurar aplicações.   
  59. 59. @fgsl Zend_Dojo Integração com o framework  Javascript Dojo Toolkit.   
  60. 60. @fgsl Zend_Dom Manipulação da árvore DOM.   
  61. 61. @fgsl Zend_Exception Exceção padrão.   
  62. 62. @fgsl Zend_Feed Leitor e escritor de RSS.   
  63. 63. @fgsl Zend_File Transferência de arquivos com  validadores e filtros.   
  64. 64. @fgsl Zend_Filter Filtro de entrada e saída de  dados.   
  65. 65. @fgsl Zend_Form Construção dinâmica de  formulários.   
  66. 66. @fgsl Zend_GDataIntegração com a API do Google.   
  67. 67. @fgsl Zend_Http Abstração de requisições e  respostas.   
  68. 68. @fgsl Zend_Infocard Utilizado por Zend_Auth, abstrai  cartões de identidade.   
  69. 69. @fgsl Zend_Json Conversor e servidor JSON.   
  70. 70. @fgsl Zend_Layout Parte do padrão Two Step View.   
  71. 71. @fgsl Zend_Ldap Integração com serviços LDAP.   
  72. 72. @fgsl Zend_Loader Autocarregador de classes.   
  73. 73. @fgsl Zend_Locale Componente para localização  (l10n).   
  74. 74. @fgsl Zend_Log Abstração de log.   
  75. 75. @fgsl Zend_Mail Abstração de e­mail.   
  76. 76. @fgsl Zend_Markup Abstração para leitura e geração  de documentos baseados em  linguagem de marcação.   
  77. 77. @fgsl Zend_Measure Abstração de medidas. i18n.   
  78. 78. @fgsl Zend_Memory Objetos para ambientes com  limitações de memória.   
  79. 79. @fgsl Zend_Mime Manipulador de mensagens  MIME (Multipurpose Internet Mail  Extensions), usado por  Zend_Mail.   
  80. 80. @fgsl Zend_Navigation Controlador da navegação do  usuário, gerencia árvores de  ponteiros para páginas Web.   
  81. 81. @fgsl Zend_Oauth Implementação da especificação  Oauth para autorização segura.   
  82. 82. @fgsl Zend_OpenId Encapsula OpenId para  autenticação.   
  83. 83. @fgsl Zend_Paginator Controle de paginação de dados.   
  84. 84. @fgsl Zend_Pdf Geração e carregamento de  arquivos PDF.   
  85. 85. @fgsl Zend_ProgressBar Geração de barra de progresso.   
  86. 86. @fgsl Zend_Queue Fábrica de clientes para filas.   
  87. 87. @fgsl Zend_Reflection Extensão da API de reflexão do  PHP.   
  88. 88. @fgsl Zend_Registry Implementação do padrão de  projeto Registry.   
  89. 89. @fgsl Zend_Rest Clientes e servidores REST.   
  90. 90. @fgsl Zend_Search_Lucene Mecanismo de busca baseado  no Apache Lucene.   
  91. 91. @fgsl Zend_Serializer Fábrica de formatos de  serialização.   
  92. 92. @fgsl Zend_Server Abstração para criação de  servidores (provedores de  serviços).   
  93. 93. @fgsl Zend_Service Abstração para serviços de  terceiros, possui diversas  implementações prontas.   
  94. 94. @fgsl Zend_Session Abstração da sessão. Controla  início, fim e cria namespaces.   
  95. 95. @fgsl Zend_Soap Servidor e cliente SOAP.   
  96. 96. @fgsl Zend_Tag Criação de listas de tags.   
  97. 97. @fgsl Zend_Test Extensão do PHPUnit para  aplicações Zend Framework.   
  98. 98. @fgsl Zend_TextClasses para criar artes e tabelas  baseadas em texto.   
  99. 99. @fgsl Zend_TimeSync Recupera data e hora de  servidores NTP (Network Time  Protocol) ou SNTP (Simple  NTP).   
  100. 100. @fgsl Zend_Tool Gerador de código e framework  para criação de geradores.   
  101. 101. @fgsl Zend_Translate Tradução de textos. i18n.   
  102. 102. @fgsl Zend_Uri Abstração de URI.   
  103. 103. @fgsl Zend_Validate Regras de validação de dados.   
  104. 104. @fgsl Zend_Version Versão do framework.   
  105. 105. @fgsl Zend_View Implementação da camada de  visão. Usa por padrão templates  com extensão .phtml.   
  106. 106. @fgsl Zend_Wildfire Wildfire é um projeto open source  para canais de comunicação  padronizados. O componente do  Zend permite enviar dados do  servidor para o Firebug.   
  107. 107. @fgsl Zend_XmlRpc Cliente e servidor de XML­RPC.   
  108. 108. @fgsl UFA!   
  109. 109. @fgsl Perguntas?flaviogomesdasilva@yahoo.com.brwww.fgsl.eti.br http://www.temporealeventos.com.br    
  110. 110. @fgsl Obrigado!flaviogomesdasilva@yahoo.com.brwww.fgsl.eti.br http://www.temporealeventos.com.br    
  111. 111. @fgsl Referências Holmes, Josh. The Lost Art of Simplicity.  PHP Conference 2010. http://www.joshholmes.com/blog/2009/04/29/thelostartofsimplicity/   

×