Sobes.tech
Junior — Middle

Avez-vous de l'expérience dans l'utilisation de méthodes spéciales commençant par un double underscore en PHP?

sobes.tech IA

Réponse de l'IA

En PHP, les méthodes spéciales commençant par deux underscores (__) sont appelées méthodes magiques. Elles permettent de redéfinir le comportement des objets dans certaines situations. Par exemple :

  • __construct() — constructeur de la classe
  • __destruct() — destructeur
  • __get($name) — appelé lors de l'accès à une propriété inexistante ou inaccessible
  • __set($name, $value) — appelé lors de l'affectation à une propriété inexistante ou inaccessible
  • __call($name, $arguments) — appelé lors de l'appel d'une méthode inexistante
  • __toString() — définit le comportement de l'objet lors de sa conversion en chaîne

Exemple d'utilisation de __get et __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; // Affichera 'Иван'

Les méthodes magiques permettent de gérer de manière flexible le comportement des objets et sont souvent utilisées pour implémenter des patrons de conception ou simplifier l'interface des classes.