Junior — Middle
Dasturlashda 'sehrli funksiyalar' nima ekanligini tushuntirib bera olasizmi?
sobes.tech AI
AIdan javob
PHPda "sihirli funksiyalar" (sihirli metodlar) maxsus metodlar bo'lib, ularning nomlari ikki chiziq (__) bilan boshlanadi va tugaydi. Ular muayyan vaziyatlarda avtomatik ravishda interpretator tomonidan chaqiriladi, bu ob'ektlarning xulq-atvorini o'zgartirish imkonini beradi.
Sihirli metodlarga misollar:
__construct()— sinfning konstruktoru.__destruct()— destruktor.__get($name)— mavjud bo'lmagan yoki kirish mumkin bo'lmagan xususiyatga murojaat qilganda chaqiriladi.__set($name, $value)— mavjud bo'lmagan yoki kirish mumkin bo'lmagan xususiyatga yozilganda chaqiriladi.__call($name, $arguments)— mavjud bo'lmagan metod chaqirilganda chaqiriladi.__toString()— ob'ekt qanday qilib satrga aylantirilishini belgilash imkonini beradi.
__get va __set dan foydalanish misoli:
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; // Иван
Shu tarzda, sihirli metodlar ob'ektlarning xulq-atvorini moslashuvchan boshqarish imkonini beradi va ularni ma'lum holatlarda ishlatishni soddalashtiradi.