Junior — Middle
Máte zkušenosti s používáním speciálních metod začínajících dvojitým podtržítkem v PHP?
sobes.tech AI
Odpověď od AI
V PHP jsou speciální metody začínající dvojitým podtržítkem (__), nazývané magické metody. Umožňují předefinovat chování objektů v určitých situacích. Například:
__construct()— konstruktor třídy__destruct()— destruktor__get($name)— je voláno při přístupu k neexistující nebo nedostupné vlastnosti__set($name, $value)— je voláno při přiřazení k neexistující nebo nedostupné vlastnosti__call($name, $arguments)— je voláno při volání neexistující metody__toString()— určuje chování objektu při převodu na řetězec
Příklad použití __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é metody umožňují flexibilně řídit chování objektů a často se používají k implementaci návrhových vzorů nebo ke zjednodušení rozhraní tříd.