martes, 21 de octubre de 2014

PHP (07) POO (05) Destructores

Al igual que existen los constructores en PHP también existen los destructores, que son métodos que destruyen el objeto, esto sirve para hacer limpieza después de utilizar el objeto, si ya no se va a utilizar más o en el caso con las conexiones a bases de datos.

Los destructores se llaman __destruct() y no necesitan argumentos ya que destruyen el objeto completamente.
function __destruct()
{
 
}

De hecho esta función se ejecuta automaticamente cuando termina el script para liberar memoria, tal y como vemos en el siguiente ejemplo completo.
<?php
 class Person
 {
  var $nombre;
  var $edad;

  function __construct($nombre, $edad)
  {
   $this->nombre=$nombre;
   $this->edad=$edad;
  }

  function __destruct()
  {
   echo '<p>Destruyendo el objeto ' . $this->nombre . '...</p>';
  }

  //Aquí comienzan los geters y seters de las propiedades.
  function set_nombre($dato)
  {
   $this->nombre = $dato;
  }
  
  function get_nombre()
  {
   return $this->nombre;
  }

  function set_edad($dato)
  {
   $this->edad = $dato;
  }
  
  function get_edad()
  {
   return $this->edad;
  }
 }
 $persona1 = new Person('Antonio', '23');

 echo '<p>Mostrando con $persona1->get_nombre: ' . $persona1->get_nombre() . '</p>';
 echo '<p>Mostrando con $persona1->get_edad: ' . $persona1->get_edad() . '</p>';
?>

Que nos da como resultado:
Mostrando con $persona1->get_nombre: Antonio
Mostrando con $persona1->get_edad: 23
Destruyendo el objeto Antonio...

No hay comentarios:

Publicar un comentario