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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Orientação a Objetos com PHP

  • 4,256 views
Published

 

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
4,256
On SlideShare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
280
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 ?