Programao Orientada a Objetos em PHP 2. Classes e Objetos 3.
Herana 4. Sobrescrita de Mtodos 5. Sobrecarga de Construtores
- Em PHP cada classe somente pode ter um nico construtor.
- Assim, no h sobrecarga de construtores:
Fatal error:Cannot redeclare Pessoa::__construct() 6. include ou
require
- Ambos incluem e avaliam o arquivo informado.
- A ausncia do arquivo especificado norequire , interrompe o
processamento e produz umFatal Error .
7. include_once ou require_once
- Similar aincludeerequire , mas se o arquivo j tiver sido
includo, a incluso no ser feita novamente.
8. autoload
- Pode-se definir uma funo__autoloadque automaticamente chamada
caso seja usada uma classe que ainda no foi definida.
- Isso pode evitar a necessidade de escrever mltiplos includes ou
requires.
9. autoload index.php autoload.php MinhaClasse.php 10. Classes e
Objetos 11. Construtores e Destrutores
- Construtores pais no so chamados implicitamente pelo construtor
da classe filha.
- Para executar o construtor da classe pai, necessria uma chamada
aparent::__construct()no construtor da classe filha.
- O mtodo destrutor ou finalizador ser chamado assim que todas as
referncias a um objeto particular forem removidas ou quando o
objeto for explicitamente destrudo atravs da funounset()ou ainda
quando o programa finalizado.
- Destrutores pais no sero chamados implicitamente. Para executar
o destrutor pai, deve-se fazer uma chamada explicitamente
aparent::__destruct()no corpo do destrutor.
12. Construtores e Destrutores 13. Visibilidade dos membros 14.
Visibilidade dos membros 15. :: Operador de Resoluo de Escopo
- Permite acesso a membros estticos, constantes ou sobrescritos
de uma classe.
16. :: Operador de Resoluo de Escopo
- As palavras reservadasselfeparentso usadas para acessar membros
de dentro da definio da classe.
17. Inicializaes invlidas 19. Membros de Classe
- Chamar mtodos no estticos de maneira esttica gera um aviso de
nvel E_STRICT.
20. Constantes
- Constantes diferem de variveis normais no no uso do smbolo $
para declar-las ou us-las.
21. Classes Abstratas 22. Interfaces 23. final
- Mtodos final NO podem ser sobrescritos em classes que o
herdem.
- Classes final no podem ser herdadas por outras classes.
- O exemplo abaixo no funciona:
24. final
- O exemplo abaixo tambm no funciona:
25. O mtodo __toString()
- Retorna a representao de um objeto em forma de string.
26. Clonagem de Objetos
- Uma cpia de objeto criada usando o comando 'clone'. Isso chama
o mtodo __clone() do objeto.
- O mtodo __clone() de um objeto no pode ser executado
diretamente.
27. Clonagem de Objetos 28. Interceptao
- Chamada de mtodos e acesso a membros podem ser interceptados
pelos mtodos__set, __get e __call .
-
- __set intercepta a atribuio de valores a propriedades do objeto
(declaradas ou no).
-
- __get intercepta requisies de propriedades do objeto
(declaradas ou no).
-
- __call Intercepta chamadas a mtodos. Executado automaticamente
quando um mtodo inexistente for chamado.
29. Interceptao 30. Instanciao Dinmica 31. Tratamento de
Erros
- A forma de manipulao de erro mais simples abortar a execuo da
aplicao atravs da funodie() .
- Controlar erros assim geralmente ruim, pois abortar a execuo do
programa normalmente no o comportamento desejado.
32. Gerao e Tratamento de Erros
- A funotrigger_error()gera um erro de um tipo determinado.
-
- E_USER_ERROR Gera um erro fatal.
-
- E_USER_WARNING Gera uma advertncia.
-
- E_USER_NOTICE Gera uma notificao.
- A funoset_error_handler()define uma funo para tratamento de
erros.
33. Gerao e Tratamento de Erros 34. Excees
- Uma exceo pode ser disparada (throw), ou capturada
(catch).
- Cdigo rodeado de um bloco try/catch, permite a captura de
excees em potencial.
- Vrios blocos catch podem ser usados para pegar diferentes
classes de excees.
- A execuo normal continuar aps o ltimo bloco catch definido na
seqncia.
- Quando uma exceo lanada, o fluxo normal de execuo interrompido
e o PHP tentar achar o primeiro bloco catch correspondente exceo
disparada.
- Se uma exceo no for capturada, um Erro Fatal ser lanado com uma
mensagem "Uncaught Exception ...", a no ser que um tratador tenha
sido definido comset_exception_handler() .
35. Excees
- Uma exceo um objeto da classe Exception que contm os seguintes
mtodos:
- getMessage()- Retorna a mensagem de erro.
- getCode()- Retorna o cdigo de erro.
- getFile()- Retorna o arquivo no qual ocorreu o erro.
- getLine()- Retorna a linha na qual ocorreu o erro.
- getTrace()- Retorna um array com as aes at o erro.
- getTraceAsString()- Retorna as aes em forma de string.
36. Excees 37. Tratador de Excees
- A funoset_exception_handler()define uma funo de tratamento de
exceo padro se uma exceo no for capturada em um bloco
try/catch.
- A execuo no parar depois que a funo de tratamento for
chamada.
38. Comparao de Objetos
- Operador de comparao (==)
-
- Objetos so iguais se possurem o mesmo contedo e forem instncias
da mesma classe.
- Operador de identidade (===)
-
- Objetos so idnticos se referenciam a mesma instncia de uma
mesma classe.
39. Comparao de Objetos 40. Comparao de Tipo
- instanceof usado para determinar se um objeto de uma
determinada classe: