Os métodos mágicos são executado quando determinado evento – comportamento –  ocorre na classe mãe quando instanciada e transforma em objeto. A execução desses métodos em sua maioria deve ser implementada por você para ter um maior controle do programa, mas alguns deles são default como __construct. Então, todos os nomes dos métodos inicializa com  __nomeMethod(). Define que um método é mágico, por isso evite utilizar nomes de métodos com esta estruturação, se não for mágico.

Listamos os métodos mágicos mais utilizados e seus respectivos links da documentação oficial:

  • __construct() e destruct():É chamado respectivamente  na construção e destruição do objeto.http://php.net/manual/pt_BR/language.oop5.decon.php#object.construct
  • __toString():  É executado quando tentar chamar um objeto como uma string.http://php.net/manual/pt_BR/language.oop5.magic.php#object.tostring
  • __invoke(): É executado quando chamamos um objeto como um se fosse um métodos após instanciado. Então implementado o método ele vai executar o código definido nele. Sem apresentar erros, caso a assinatura do método seja idêntica ao chamada solicitada.http://php.net/manual/pt_BR/language.oop5.magic.php#object.invoke
  • __clone():   http://php.net/manual/pt_BR/language.oop5.cloning.php#object.clone
  • __get(); __set(); __isset(); __unset(); http://php.net/manual/pt_BR/language.oop5.overloading.php#object.set
  • __sleep();  http://php.net/manual/pt_BR/language.oop5.magic.php#object.sleep
  • __debugInfo(); http://php.net/manual/pt_BR/language.oop5.magic.php#object.debuginfo
  • __wakeup();  http://php.net/manual/pt_BR/language.oop5.magic.php#object.wakeup
  • __call(); __callStatic(); http://php.net/manual/pt_BR/language.oop5.overloading.php#object.call

Espero ter ajudado mais a breve descrição dos métodos foi informada apenas para métodos mais utilizado em programação orientada a objetos no PHP7. Bom estudos e se aprofunde usando os links indicados.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *