Resumo : neste tutorial, você aprenderá sobre o destruidor PHP e como usá-lo para limpar os recursos quando o objeto for excluído.
Introdução ao destruidor PHP
Assim como o construtor , o PHP permite definir um destruidor para uma classe usando um método especial __destruct()
como este:
<?php
class className
{
public function __destruct()
{
//...
}
}
Linguagem de código: HTML, XML ( xml )
Ao contrário de um construtor, um destruidor não aceita nenhum argumento. O destruidor é invocado automaticamente antes que um objeto seja excluído. Acontece quando o objeto não tem referência ou quando o script termina.
Exemplo de destruidor PHP
A FileUtil
classe simples a seguir demonstra como usar o destruidor para fechar um identificador de arquivo:
<?php
class File
{
private $handle;
private $filename;
public function __construct($filename, $mode = 'r')
{
$this->filename = $filename;
$this->handle = fopen($filename, $mode);
}
public function __destruct()
{
// close the filehandle
if ($this->handle) {
fclose($this->handle);
}
}
public function read()
{
// read the file contents
return fread($this->handle, filesize($this->filename));
}
}
$f = new File('./test.txt');
echo $f->read();
Linguagem de código: HTML, XML ( xml )
Como funciona.
- Primeiro, defina a
File
classe com o construtor que aceita dois argumentos:$filename
e$mode
. Por padrão, aFile
classe abre o arquivo para leitura. - Segundo, abra o arquivo e atribua o identificador do arquivo à
$handle
propriedade no construtor. - Terceiro, feche o identificador de arquivo no destruidor.
- Quarto, retorne o conteúdo do arquivo do
read()
método.
Resumo
- Use o
__destruct()
para definir um destruidor para uma classe. - O PHP invoca automaticamente o destruidor quando o objeto é excluído ou o script é encerrado.
Anterior