Sobes.tech
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__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.