Junior — Middle
PHP'da ikki chiziq bilan boshlanadigan maxsus usullardan foydalanish tajribangiz bormi?
sobes.tech AI
AIdan javob
PHP-da, ikki chiziq osti (__) bilan boshlanadigan maxsus metodlar sehrli metodlar deb ataladi. Ular ob'ektlarning muayyan vaziyatlarda xulqini qayta belgilash imkonini beradi. Masalan:
__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 yozish amalga oshirilganda chaqiriladi__call($name, $arguments)— mavjud bo'lmagan metod chaqirilganda chaqiriladi__toString()— ob'ektni satrga aylantirishda xulqini belgilaydi
__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; // 'Иван' ni chiqaradi
Sehrli metodlar ob'ektlarning xulqini moslashuvchan boshqarish imkonini beradi va ko'pincha dizayn shablonlarini amalga oshirish yoki sinflarning interfeysini soddalashtirish uchun ishlatiladi.