Método __destruct
A função __destruct é um método mágico em PHP que é chamado automaticamente quando um objeto é removido da memória. Isso ocorre quando o script termina sua execução ou quando o objeto é explicitamente destruído. O método é útil para liberar recursos (por exemplo, fechar descritores de arquivo ou conexões com o banco de dados).
Sintaxe
class MyClass {
public function __destruct() {
// código do destrutor
}
}
Exemplo
Um exemplo simples de uma classe com um destrutor que exibe uma mensagem quando o objeto é destruído:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Chamará o destrutor
?>
Resultado da execução do código:
'Object destroyed'
Exemplo
Exemplo com liberação de recursos (fechamento de arquivo):
<?php
class FileHandler {
private $file;
public function __construct($filename) {
$this->file = fopen($filename, 'r');
}
public function __destruct() {
if ($this->file) {
fclose($this->file);
echo 'File closed';
}
}
}
$handler = new FileHandler('example.txt');
// Trabalhando com o arquivo...
unset($handler); // Fechará o arquivo automaticamente
?>
Resultado da execução do código:
'File closed'
Veja também
-
método
__construct,
que é o construtor da classe