Sobes.tech
Junior — Middle

¿Tiene experiencia en el uso de métodos especiales que comienzan con doble guión bajo en PHP?

sobes.tech AI

Respuesta de la IA

En PHP, los métodos especiales que comienzan con doble guion bajo (__) se llaman métodos mágicos. Permiten redefinir el comportamiento de los objetos en ciertas situaciones. Por ejemplo:

  • __construct() — constructor de la clase
  • __destruct() — destructor
  • __get($name) — se llama al acceder a una propiedad inexistente o inaccesible
  • __set($name, $value) — se llama al asignar a una propiedad inexistente o inaccesible
  • __call($name, $arguments) — se llama al invocar un método inexistente
  • __toString() — define el comportamiento del objeto al convertirse en cadena

Ejemplo de uso de __get y __set:

class User {
    private $data = [];

    public function __get($name) {
        return $this->data[$name] ?? null;
    }

    public function __set($name, $value) {
        $this->data[$name] = $value;
    }
}

$user = new User();
$user->name = 'Иван';
echo $user->name; // Mostrará 'Иван'

Los métodos mágicos permiten gestionar de forma flexible el comportamiento de los objetos y se usan a menudo para implementar patrones de diseño o simplificar la interfaz de las clases.