Destruidor PHP – 02

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 Fileclasse com o construtor que aceita dois argumentos: $filenamee $mode. Por padrão, a Fileclasse abre o arquivo para leitura.
  • Segundo, abra o arquivo e atribua o identificador do arquivo à $handlepropriedade 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.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *