Junior — Middle
Máte skúsenosti s používaním špeciálnych metód, ktoré začínajú dvojitým podčiarknutím v PHP?
sobes.tech AI
Odpoveď od AI
V PHP-u sa dvoma podčiarkami (__) na začiatku sa špeciálne metódy nazývané magické metódy. Umožňujú prepísať správanie objektov v určitých situáciách. Napríklad:
__construct()— konštruktor triedy__destruct()— destruktor__get($name)— sa volá pri prístupe k neexistujúcej alebo nedostupnej vlastnosti__set($name, $value)— sa volá pri priraďovaní k neexistujúcej alebo nedostupnej vlastnosti__call($name, $arguments)— sa volá pri volaní neexistujúcej metódy__toString()— určuje správanie objektu pri konverzii na reťazec
Príklad použitia __get a __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; // Vypíše 'Иван'
Magické metódy umožňujú flexibilne riadiť správanie objektov a často sa používajú na implementáciu návrhových vzorov alebo na zjednodušenie rozhrania tried.