Métodos mágicos
Todas las clases PHP ofrecen un conjunto de métodos, también conocidos como magic methods que se pueden sobreescribir para sustituir su comportamiento. Algunos de ellos ya los hemos utilizado.
Los más destacables son:
__construct()__destruct()→ se invoca al perder la referencia. Se utiliza para cerrar una conexión a la BD, cerrar un fichero, ...__toString()→ representación del objeto como cadena. Es decir, cuando hacemosecho $objetose ejecuta automáticamente este método.__get(propiedad),__set(propiedad, valor)→ Permitiría acceder a las propiedad privadas, aunque siempre es más legible/mantenible codificar los getter/setter.__isset(propiedad),__unset(propiedad)→ Permite averiguar o quitar el valor a una propiedad.__sleep(),__wakeup()→ Se ejecutan al recuperar (unserialize^) o almacenar un objeto que se serializa (serialize), y se utilizan para permite definir qué propiedades se serializan.__call(),__callStatic()→ Se ejecutan al llamar a un método que no es público. Permiten sobrecargan métodos.