Sobes.tech
Junior — Middle

Tem experiência no uso de métodos especiais que começam com dois sublinhados em PHP?

sobes.tech IA

Resposta da IA

Em PHP, os métodos especiais que começam com dois sublinhados (__) são chamados métodos mágicos. Eles permitem redefinir o comportamento dos objetos em certas situações. Por exemplo:

  • __construct() — construtor da classe
  • __destruct() — destruidor
  • __get($name) — chamado ao aceder a uma propriedade inexistente ou inacessível
  • __set($name, $value) — chamado ao atribuir a uma propriedade inexistente ou inacessível
  • __call($name, $arguments) — chamado ao invocar um método inexistente
  • __toString() — define o comportamento do objeto ao ser convertido em string

Exemplo de uso de __get e __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; // Vai mostrar 'Иван'

Métodos mágicos permitem gerir de forma flexível o comportamento dos objetos e são frequentemente usados para implementar padrões de projeto ou simplificar a interface das classes.