Your SlideShare is downloading. ×
0
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Orientação a Objetos com PHP
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Orientação a Objetos com PHP

4,474

Published on

Published in: Technology
3 Comments
8 Likes
Statistics
Notes
No Downloads
Views
Total Views
4,474
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
309
Comments
3
Likes
8
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • - Usar PHP 5
    - Colocar OO em prática
  • - Usar PHP 5
    - Colocar OO em prática
  • - Usar PHP 5
    - Colocar OO em prática
  • - Usar PHP 5
    - Colocar OO em prática
  • - Esquecer Procedural
    - Como a mente funciona
    - Pensar OO
  • - Esquecer Procedural
    - Como a mente funciona
    - Pensar OO
  • - Esquecer Procedural
    - Como a mente funciona
    - Pensar OO
  • - Esquecer Procedural
    - Como a mente funciona
    - Pensar OO
  • - Esquecer Procedural
    - Como a mente funciona
    - Pensar OO
  • - Possuem informações
    - Executam
    - Explicar resolução de escopo ‘->’
  • - Explicar implementação da SPL
  • - Explicar implementação da SPL
  • - Atributo
    - Método
  • - Atributo
    - Método
  • - Atributo
    - Método
  • - Troca de informações entre classes
    - Poder da OO
  • - Era uma coisa e virou outra
    - Sobrecarga de método da classe pai
    - Diferente da sobrecarga em outras linguagens
  • - Classe final
    - Método final
  • - Classe final
    - Método final
  • - Classe final
    - Método final
  • - Classe final
    - Método final
  • - Classe final
    - Método final
  • - Métodos mágicos no PHP
    - 14 no PHP 5.3
  • - Métodos mágicos no PHP
    - 14 no PHP 5.3
  • - Métodos mágicos no PHP
    - 14 no PHP 5.3
  • - Métodos mágicos no PHP
    - 14 no PHP 5.3
  • - Métodos mágicos no PHP
    - 14 no PHP 5.3
  • -> __toString()
    -> Depois do PHP 5.2 funciona com tudo (não só echo)
  • - Métodos mágicos no PHP
    - 14 no PHP 5.3
  • - Excessões da SPL
  • - Referência a objetos
    - Typehint
    - instance of
    - Reflection
  • - Gang of Four: 23 padrões
    - MVC
    - Value Object
  • - Gang of Four: 23 padrões
    - MVC
    - Value Object
  • - Gang of Four: 23 padrões
    - MVC
    - Value Object
  • - Usam MVC, ORM, Active Record
  • Transcript

    • 1. Orientação a Objetos em PHP augusto@phpsp.org.br @augustohp
    • 2. AUGUSTO PASCUTTI •4 anos de experiência • ZCE • Fundador/coordenador PHPSP • Habari, CakePHP
    • 3. OBJETIVOS
    • 4. ORIENTAR
    • 5. PHP 5
    • 6. USAR
    • 7. ORIENTANDO-SE
    • 8. PROGRAMA PROCEDURAL ?
    • 9. ESQUEÇA !
    • 10. PENSE DIFERENTE
    • 11. PENSE OO
    • 12. CLASSES
    • 13. BASE DA OO
    • 14. MOLDES
    • 15. INSTRUÇÕES
    • 16. SEM VONTADE PRÓPRIA
    • 17. CLASSES
    • 18. CLASSES
    • 19. CLASSES
    • 20. CLASSES
    • 21. • Uma classe por arquivo • Padrões de nomenclatura • Padrão_Zend_ou_Pear CLASSES • PadrãoCamelCase • PaDrÃoMiGuXo
    • 22. OBJETOS
    • 23. FILHOS DAS CLASSES
    • 24. INFORMAÇÕES
    • 25. INDEPENDENTES
    • 26. EXECUTORES
    • 27. EXECUTAM
    • 28. ATRIBUTOS
    • 29. DECLARADOS NA CLASSE
    • 30. USADOS NOS OBJETOS
    • 31. PROPRIEDADES
    • 32. INFORMAÇÕES
    • 33. VARIÁVEIS
    • 34. 4
    • 35. VARIÁVEIS
    • 36. 5
    • 37. VARIÁVEIS
    • 38. MÉTODOS
    • 39. DECLARADOS NA CLASSE
    • 40. USADOS PELOS OBJETOS
    • 41. FUNÇÕES
    • 42. FAZEM COISAS
    • 43. DÃO E RECEBEM
    • 44. 4
    • 45. DÃO E RECEBEM
    • 46. 5
    • 47. DÃO E RECEBEM
    • 48. AUTOLOAD
    • 49. AUTOLOAD •Executado na instanciação •Executado somente para classes não declaradas •Nativo do PHP •Duas implementações •__autoload •SPL •Sem includes/requires •Melhora consumo de memória
    • 50. AUTOLOAD
    • 51. AUTOLOAD
    • 52. MEMBROS DA CLASSE
    • 53. CONSTANTES
    • 54. CONSTANTES
    • 55. ESTÁTICOS
    • 56. ESTÁTICOS
    • 57. ESTÁTICOS
    • 58. MENSAGENS
    • 59. PODER DA OO
    • 60. TROCA DE INFORMAÇÕES
    • 61. TROCA DE INFORMAÇÕES
    • 62. HERANÇA
    • 63. CLASSE PAI
    • 64. CLASSE FILHA
    • 65. VISIBILIDADE
    • 66. PUBLIC
    • 67. PROTECTED
    • 68. PRIVATE
    • 69. POLIMORFISMO
    • 70. ERA UMA COISA
    • 71. AGORA É OUTRA
    • 72. SOBRECARGA
    • 73. NA VERDADE: SOBRESCRITA
    • 74. NA VERDADE: SOBRESCRITA
    • 75. FINAL
    • 76. IMPEDE O POLIMORFISMO
    • 77. USADO EM CLASSES ...
    • 78. E MÉTODOS
    • 79. E MÉTODOS
    • 80. ABSTRATO
    • 81. NÃO PODE SER INSTANCIADA
    • 82. USADA COMO PAI
    • 83. USADA COMO PAI
    • 84. USADA COMO PAI
    • 85. MÁGICA
    • 86. MÉTODOS MÁGICOS
    • 87. EXECUTADOS PELO PHP
    • 88. 14 EXISTENTES NO PHP 5.3
    • 89. SEMPRE COMEÇAM COM “_ _”
    • 90. CONSTRUINDO
    • 91. __CONSTRUCT •Executado na instanciação do objeto •Não pode retornar nada •Pode sofrer sobrecarga •Pode receber argumentos
    • 92. __CONSTRUCT
    • 93. DESTRUINDO
    • 94. •Executado quando objeto sai da memória •Final do script •unset() do objeto •Pode ser útil em •Banco de dados •Logs •etc ... __DESTRUCT
    • 95. __DESTRUCT
    • 96. MOSTRANDO
    • 97. __TOSTRING •Chamado quando objeto é usado como String •O método DEVE retornar uma String •Útil para objetos que devem retornar algo visual •Paginador, Botão •Até a versão 5.2 funcionava só com `print` e `echo` •> 5.2 funciona em qualquer contexto de string •TypeCast •sprintf()
    • 98. __TOSTRING
    • 99. OUTROS MÉTODOS MÁGICOS •__call •__get •__set •__get •__isset •__clone •http://php.net/manual/en/language.oop5.magic.php
    • 100. INTERFACES
    • 101. “CLASSES” GENÉRICAS
    • 102. DEFINEM COMPORTAMENTOS
    • 103. TIPOS DE DADOS
    • 104. TIPOS DE DADOS
    • 105. •Mais genéricos que Classes Abstratas •Uma classe pode implementar várias Interfaces TIPOS DE DADOS
    • 106. EXCEPTIONS
    • 107. TRABALHANDO
    • 108. OBJETOS E REFERÊNCIAS
    • 109. OBJETOS E REFERÊNCIAS
    • 110. OBJETOS E REFERÊNCIAS
    • 111. OBJETOS E REFERÊNCIAS
    • 112. TYPE HINT
    • 113. •Forçam um tipo a um argumento •Só podem ser usados como tipo: •Array •Classes TYPE HINT
    • 114. TYPE HINT
    • 115. TYPE HINT
    • 116. INSTANCE OF
    • 117. •Checa se um objeto é uma determinada instância •Retorna boolean •Um objeto pode ser checado contra •Classe •Classe Abstrata •Interface INSTANCE OF
    • 118. INSTANCE OF
    • 119. BANCO DE DADOS
    • 120. ABSTRAIA
    • 121. •Melhora segurança •Centraliza execuções •Melhor manutenção •Evita dor de cabeças ABSTRAIA
    • 122. NÃO REINVENTE A RODA
    • 123. USE A PDO
    • 124. •O que ela é: •Abstração de Acesso para banco de dados •Nativo do PHP 5.1 •Aprenda uma sintaxe de conexão •Muito/Extremamente TESTADA pra caramba •Mais leve do que qualquer outra USE A PDO
    • 125. •O que ela NÃO é: •Não abstrai suas queries •Não evita instalação de drivers dos bancos •Não vai resolver seus problemas •Nem de segurança •Nem de performance USE A PDO
    • 126. USANDO A PDO
    • 127. USANDO A PDO
    • 128. •Agilizam a execução de queries repetidas •Implementam um pouco de segurança •Simplificam o uso de queries repetidas •Simplificam Fetch de resultados PDO STATEMENTS
    • 129. PDO STATEMENTS
    • 130. PARÂMETROS
    • 131. RETORNO ID INSERIDO
    • 132. DESIGN PATTERNS
    • 133. •Solução comum para problemas comuns •Independem de linguagem •Vocuabulário comum •Primeiros DP: Gang of Four DESIGN PATTERNS
    • 134. •Singleton •Factory •Strategy •Data Access Object •Value Objects •MVC DESIGN PATTERNS
    • 135. FRAMEWORKS
    • 136. Augusto Pascutti augusto@phpsp.org.br @augustohp http://www.slideshare.net/augustopascutti PERGUNTAS ?

    ×