Junior — Middle
Kas teil on kogemusi spetsiaalsete meetodite kasutamisel, mis algavad topeltkriipsuga PHP-s?
sobes.tech AI
Vastus AI-lt
PHP-s algavad meetodid, mis algavad topeltkriipsud (__) kasutades, nimetatakse maagilisteks meetoditeks. Need võimaldavad objekti käitumist teatud olukordades üle kirjutada. Näiteks:
__construct()— klassi konstruktor__destruct()— destruktor__get($name)— kutsutakse, kui pääseb ligi mitteolevatele või juurdepääsetamatutele omadustele__set($name, $value)— kutsutakse, kui omistatakse mitteolevatele või juurdepääsetamatutele omadustele väärtust__call($name, $arguments)— kutsutakse, kui kutsutakse mitteolevat meetodit__toString()— määrab objekti käitumise stringiks muundamisel
Näide __get ja __set kasutamisest:
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; // Näitab 'Иван'
Maagilised meetodid võimaldavad paindlikult hallata objektide käitumist ning neid kasutatakse sageli disainimustrite rakendamisel või klasside liideste lihtsustamisel.