OOP (in portuguese)

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    OOP (in portuguese) - Presentation Transcript

    1. OOP PHP Advanced - 15 de Setembro de 2008 Bruno Pedro <bpedro@tarpipe.com>
    2. PHP Advanced Conteúdo • Excepções • Serialização • Three-tier model • Projecto • Resumo OOP 2
    3. PHP Advanced Gestão de erros • error_log() • set_error_handler() • trigger_error() • debug_backtrace() OOP 3
    4. PHP Advanced error_log() • Captura um erro e envia os seus detalhes para um destino específico: • logs do servidor Web • Endereço de e-mail • Debugger remoto • Um ficheiro arbitrário OOP 4
    5. PHP Advanced set_error_handler() • Define qual a função que vai gerir todos os erros: • Útil quando se pretende executar código antes de um erro ser apresentado • Errors críticos e de interpretação não são capturados (E_PARSE, E_ERROR, E_CORE) OOP 5
    6. PHP Advanced trigger_error() • Gera um erro de aplicação e passa o controlo à gestão de erros: • É possível definir uma mensagem de erro específica • Só é possível gerar erros do tipo E_USER OOP 6
    7. PHP Advanced debug_backtrace() • Gera um array associativo com informação de backtrace: • Nomes de funções • Números de linhas • Nomes de ficheiros • Nomes de classes • ... OOP 7
    8. PHP Advanced Exceptions • Geração e gestão de erros simplificada • Filosofia orientada a objectos • Extensível • Simples de implementar • Afasta a gestão de erros da lógica da aplicação OOP 8
    9. PHP Advanced Exceptions Exception # message : string # code : int = 0 # file : string # line : int + __construct(message : string = null, code : int = 0) ~ getMessage() : string ~ getCode() : int ~ getFile() : string ~ getLine() : int ~ getTrace() : array ~ getTraceAsString() : string + __toString() : string OOP 9
    10. PHP Advanced throw • Gera uma excepção que poderá ser interpretada mais tarde OOP 10
    11. PHP Advanced try • Tenta executar um pedaço de código ligando o tratamento de qualquer excepção gerada OOP 11
    12. PHP Advanced catch() • Captura uma excepção gerada anteriormente e executa código arbitrário OOP 12
    13. PHP Advanced Exemplo OOP 13
    14. PHP Advanced Extensões Exception SQLException EMailException LogException + __construct() + __construct() + __construct() ~ save() ~ send() ~ save() OOP 14
    15. PHP Advanced Extensões OOP 15
    16. PHP Advanced Extensões OOP 16
    17. PHP Advanced Captura de erros • Fazer com que o default error handler possa gerar excepções OOP 17
    18. PHP Advanced Captura de erros • Mais tarde, é possível capturar os erros OOP 18
    19. PHP Advanced Automatismos • É possível definir um default exception handler que será chamado sempre que for gerada uma excepção • A execução será terminada sempre que uma excepção for gerada fora de um bloco try OOP 19
    20. PHP Advanced Automatismos OOP 20
    21. PHP Advanced Serialização • Representação storable de um valor • literais, arrays e até mesmo objectos • os valores serializados são na verdade strings • Permite gravar o conteúdo de uma variável para posterior utilização • Bastante usado em gestão de sessões OOP 21
    22. PHP Advanced serialize() • Devolve uma representação serializada de um determinado valor OOP 22
    23. PHP Advanced serialize() OOP 23
    24. PHP Advanced unserialize() • Converte uma string serializada na respectiva variável PHP OOP 24
    25. PHP Advanced Serialização de objectos • Serializa todos os atributos • Não grava ligações a bases de dados nem ficheiros abertos • Não executa tarefas de limpeza de objectos • Não executa o destructor do objecto OOP 25
    26. PHP Advanced Serialização de objectos OOP 26
    27. PHP Advanced De-serialização de objectos • Cria um objecto PHP com todos os atributos que foram serializados • Não executa o constructor do objecto OOP 27
    28. PHP Advanced De-serialização de objectos OOP 28
    29. PHP Advanced __sleep() • É executado antes da serialização • Deve devolver um array com todos os atributos a serem serializados OOP 29
    30. PHP Advanced __sleep() OOP 30
    31. PHP Advanced __wakeup() • É executado depois da de-serialização • Tem acesso a todos os atributos OOP 31
    32. PHP Advanced __wakeup() OOP 32
    33. PHP Advanced Aplicações • Utilização de um objecto como parâmetro de um Web Service • Recepção de um objecto como parâmetro POST • ... OOP 33
    34. PHP Advanced Modelo three-tier • Separação da aplicação em três camadas: • Apresentação • Lógica • Acesso aos dados OOP 34
    35. PHP Advanced Modelo three-tier • Vantagens: • Modularização da aplicação • Fácil actualização de qualquer uma das camadas • Divisão do trabalho por equipas diferentes • Divisão de responsabilidades OOP 35
    36. PHP Advanced Projecto • Objectivo • Criação de um leitor RSS Web • Aplicação multi-utilizador • Permite a gestão dos feeds RSS • Grava estado dos itens já lidos OOP 36
    37. PHP Advanced Discussão • Por onde começar? • O que se deve definir? • Como implementar as funcionalidades? • Existe código já feito que ajude? OOP 37
    38. PHP Advanced Resumo • Gestão de erros • Excepções e gestão automática de erros • Serialização e de-serialização • Modelo three-tier • Discussão sobre o projecto OOP 38
    39. PHP Summer School Questões? OOP em PHP 39
    40. PHP Advanced Mais informação • O meu blog: http://unfoldingtheweb.com/ • Manual de PHP: http://www.php.net/ • Three-tier architecture: http://tinyurl.com/threetier OOP 40

    + Bruno PedroBruno Pedro, 2 years ago

    custom

    358 views, 1 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 358
      • 358 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 6
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories