__construct: Constructor de la clase. Útil para inicializar valores, los cuales pueden ser declarados como parámetros del mismo. Se llama al crear una instancia de la clase mediante la palabra reservada new.
__destruct: Destructor de la clase. Puede utilizarse para cerrar o limpiar otros objetos. Se llama de forma automática al dejarse de utilizar el objeto.
*__get / *_set: Sobrecarga de propiedades. Permite establecer una lógica para controlar los intentos de obtención (get) o escritura (set) del valor de un miembro de una clase que no existe.
*_call: Sobrecarga de métodos. Permite establecer una lógica para controlar los intentos de llamada a un método de una clase que no existe.
*_toString: Tratamiento como cadena. Permite definir qué valor de tipo cadena retornar al utilizarse el objeto como una. NO permite el lanzamiento de excepciones porque causaría un error grave.