1
resposta

Definição do __destruct()

não entendi direito a definição do destruct(), ele seria usado quando todas as variáveis deixam ter utilizar uma referência?

1 resposta

Segundo o manual do PHP:

O método destrutor será chamado assim que todas as referências a um objeto particular forem removidas ou quando o objeto for explicitamente destruído ou qualquer ordem na sequência de encerramento.

Este método será chamado quando qualquer instância de um objeto perder a referência ou for destruída. Exemplo:

<?php

class Carro
{
    function __construct()
    {
        echo "Meu carro foi construído! Yay!" . PHP_EOL;
    }
    function __destruct()
    {
        echo "Oh não! Meu carro perdeu a referência e foi destruído!" . PHP_EOL;
    }
}

// Cria a referência do carro
$meuCarro = new Carro();

// Destrói a referência do carro
unset($meuCarro);

O terminal deve retornar as seguintes mensagens ao executar carro.php:

  • Meu carro foi construído! Yay!
  • Oh não! Meu carro perdeu a referência e foi destruído!

Mais informações: https://www.php.net/manual/pt_BR/language.oop5.decon.php