php 08 oo
TRANSCRIPT
- 1. Programao para WEB
-
- Regis Pires Magalhes
-
-
- [email_address]
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.
- Tipos de erro:
-
- 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: