Junior — Middle
Proqramlaşdırmada 'sehirli funksiyalar' termini ilə nə başa düşülür, izah edə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
PHP-də "sehirli funksiyalar" (sehirli metodlar) xüsusi metodlar hesab olunur və onların adları iki alt xət (__) ilə başlayır və bitir. Bu metodlar müəyyən vəziyyətlərdə avtomatik olaraq interpretator tərəfindən çağrılır və obyektlərin davranışını dəyişdirməyə imkan verir.
Sehirli metodlara nümunələr:
__construct()— sinifin qurucusu.__destruct()— destruktor.__get($name)— mövcud olmayan və ya əlçatan olmayan xüsusiyyətə müraciət zamanı çağrılır.__set($name, $value)— mövcud olmayan və ya əlçatan olmayan xüsusiyyətə yazma zamanı çağrılır.__call($name, $arguments)— mövcud olmayan metod çağırıldıqda çağrılır.__toString()— obyektin necə sətirə çevriləcəyini müəyyən etməyə imkan verir.
__get və __set istifadə nümunəsi:
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; // Иван
Bu cür, sehirli metodlar obyektlərin davranışını elastik şəkildə idarə etməyə və müəyyən ssenarilərdə işini asanlaşdırmağa imkan verir.