Bienvenidos

Bienvenidos

jueves, 9 de octubre de 2014

Ejercicios con orientación a objetos PHP, de CONSTRUCTORES Y DESTRUCTORES

Constructores y destructores

Cuando una clase se crea o se destruye, se llama a unos métodos mágicos como ya hemos adelantado. Si queremos realizar alguna acción en cualquiera de los dos eventos, tendremos que definir esos métodos e implementar su funcionalidad.
El método __construct() se llama cuando creamos una clase y suele ser un buen punto para rellenar información por defecto, o formar un objeto con algo que venga de la base de datos, etc.
1
2
3
4
5
6
7
8
9
10
11
class Usuario {
    public $usuario;
    public $password;
    public function __construct() {
        $this->password = '1234'; //Seguridad al poder!
    }
}
$usuario = new Usuario;
echo $usuario->password; // 1234
Cabe destacar que podemos pasar datos al constructor:
1
2
3
4
5
6
7
8
9
10
11
12
class Usuario {
    public $usuario;
    public $password;
    public function __construct($usuario) {
        $this->password = '1234';
        $this->usuario = $usuario;
    }
}
$usuario = new Usuario('juan');
echo $usuario->usuario; // juan
Por otro lado, el destructor se llama cuando la clase es destruida. Esto ocurre automáticamente cuando PHP termina de ejecutarse, libera todos los recursos que tenga asociados y va llamando al método __destruct() de todas las clases en caso de que lo tengan. También podemos forzarlo usando la función unset sobre el objeto. En el destructor se suelen implementar cierres de conexiones a bases de datos, liberación de memoria, etc.
Veámoslo en un breve ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Usuario {
    public $usuario;
    public $password;  
    public function __construct($usuario) {
        $this->password = '1234';
        $this->usuario = $usuario;
    }
    public function __destruct() {
        echo 'Muero...';
    }
}
$usuario = new Usuario('juan');
unset($usuario); // 'Muero...';

No hay comentarios:

Publicar un comentario