Sobes.tech
Junior — Middle

PHP-də iki alt xətlə başlayan xüsusi metodlardan istifadə təcrübəniz varmı?

sobes.tech Süni İntellekt

AI-dan cavab

PHP-də, iki alt xət (__) ilə başlayan xüsusi metodlar sehrli metodlar adlanır. Bu metodlar obyektlərin davranışını müəyyən vəziyyətlərdə yenidən tənzimləməyə imkan verir. Məsələn:

  • __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ə dəyər təyin edilərkən çağırılır
  • __call($name, $arguments) — mövcud olmayan metod çağırıldıqda çağırılır
  • __toString() — obyektin sətirə çevrilməsində davranışını müəyyən edir

__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; // 'Иван' göstərəcək

Sehrli metodlar obyektlərin davranışını çevik idarə etməyə imkan verir və tez-tez dizayn nümunələrinin həyata keçirilməsi və ya siniflərin interfeysinin sadələşdirilməsi üçün istifadə olunur.