Slides Métodos Mágicos
-
Upload
wellson-almeida -
Category
Documents
-
view
14 -
download
2
description
Transcript of Slides Métodos Mágicos
-
2DesenvolvimentoOrientado a Objetos com PHP
-
3Mtodos Mgicos Chamados pelo PHP em diferentes momentos da vida
do objeto;
Disparados de acordo com a funo ou evento
chamados;
teis para moldar o comportamento dos objetos
Todo mtodo mgico precedido por __
(duplo underline).
-
4Mtodos Mgicos__constructO mtodo mgico __construct, comumente chamado de construtor, executado pelo PHP toda vez que um objeto instanciado, ou seja, criado na memria.
Por exemplo:
-
5Mtodos Mgicos__destructO mtodo mgico __destruct, comumente chamado de destrutor, executado pelo PHP toda vez que um objeto destrudo. Um objeto destrudo quando todas as referncias a ele so desfeitas.
- 6Mtodos Mgicos__cloneO mtodo mgico __clone executado pelo PHP toda vez que um objeto clonado. Por exemplo:
-
7Mtodos Mgicos__destructO mtodo mgico __destruct, comumente chamado de destrutor, executado pelo PHP toda vez que um objeto destrudo. Um objeto destrudo quando todas as referncias a ele so desfeitas.
-
8Mtodos Mgicos__setO mtodo mgico __set executado pelo PHP toda vez que uma propriedade indefinida passada a um objeto.
Por exemplo:
-
9Mtodos Mgicos__getO mtodo mgico __get executado pelo PHP toda vez que se tenta acessar uma propriedade indefinida de um objeto.
Por exemplo:
-
10
Mtodos Mgicos__callO mtodo mgico __call executado pelo PHP toda vez que um mtodo indefinido chamado.
Por exemplo:
-
11
Mtodos Mgicos__callStaticO mtodo mgico __callStatic executado pelo PHP toda vez que um mtodo esttico indefinido chamado. Por exemplo:
-
12
Mtodos Mgicos__invokeO mtodo mgico __invoke executado pelo PHP toda vez tentamos acessar nosso objeto como se fosse um closure.
Por exemplo:
-
13
Mtodos Mgicos__toStringO mtodo mgico __toString executado pelo PHP toda vez que se tenta dar um echo em um objeto.
Por exemplo:
-
14
Mtodos Mgicos__issetO mtodo mgico __isset executado pelo PHP toda vez que usa-se a funo isset() ou empty() em uma propriedade indefinida. Lembre-se:
- isset: informa se a varivel foi criada.- empty: informa se a varivel est vazia.
Por exemplo:
-
15
Mtodos Mgicos__unsetO mtodo mgico __unset executado pelo PHP toda vez que usa-se a funo unset() em uma propriedade indefinida.
Por exemplo:
-
16
Mtodos Mgicos__sleep e __wakeupO mtodo mgico __sleep executado pelo PHP toda vez que usa-se a funo serialize() em um objeto. Objetos no podem ser serializados automaticamente no PHP, portanto, voc precisa especificar uma maneira de serializ-los.
O mtodo mgico __sleep ir ajud-lo a fazer isso.
O mtodo mgico __wakeup, por sua vez, faz o inverso: executado pelo PHP toda vez que usa-se a funo unserialize() em um objeto, reinstanciando o objeto e alocando as propriedades salvas pelo __sleep.Em outras palavras, __wakeup reconstri o objeto serializado.
Veja a seguir um exemplo da utilizao de __sleep e __wakeup:
-
17
Mtodos Mgicos
-
18
Mtodos Mgicos__sleep e __wakeup
public function __sleep() {return array('nome', 'marca', 'cor');
}
public function __wakeup() {$this->criar();
}}
$fusca = new Carro(Fusca, VW, Preto);$serial = serialize($fusca);
unset($fusca);
$fiesta = unserialize($serial);
Experimente dar um echo na varivel $serial para entender o que faz a funo serialize().
-
19
Mtodos Mgicos__autoloadO mtodo mgico __autoload executado pelo PHP toda vez que um objeto instanciado a partir de uma classe. O PHP ir chamar o mtodo __autoload e passar para ele o nome da classe como parmetro.
-
20
Mtodos Mgicos__autoloadUm timo exemplo prtico para o uso de __autoload quando queremos carregar os arquivos que contm as classes apenas quando tais classes forem instanciadas.
Dessa forma, alm de sempre garantir que o arquivo com a classe a ser usada ser includo, garante-se tambm que classes no utilizadas no sero includas, otimizando o cdigo da aplicao.
-
21
Desafio OnlineAnalise o cdigo do arquivo Banco.php:
-
22
Desafio OnlineAnalise agora o cdigo do arquivo acessar.php:
-
23
Desafio OnlineCom base no cdigo apresentado, crie um sistema bsico de cadastro de dados.Veja que no exemplo apresentado, estamos realizando uma insero e consultas estticas.Crie um formulrio para o cadastro dos dados e uma pgina para a visualizao das informaes do Banco.
Fique vontade para alterar o cdigo mostrado (acrescentando, por exemplo, mtodos mgicos como __construct).
cadastro.php Banco.php
FormulrioNomeEnderecoTelefone
acessar.php
Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23