Sobes.tech
Junior — Middle

Оё таҷрибаи истифодаи усулҳои махсусе, ки бо ду хати поёнӣ оғоз мешаванд, дар PHP доред?

sobes.tech AI

Ҷавоб аз AI

В PHP махсус методҳо, ки бо ду хати поён (__) оғоз мешаванд, методҳои ҷодуӣ номида мешаванд. Онҳо имкон медиҳанд, ки рафтори объектҳоро дар ҳолатҳои муайян такрор кунанд. Масалан:

  • __construct() — конструктори синф
  • __destruct() — деструктор
  • __get($name) — вақте ки ба хусусияти нобуд ё дастрас накарда муроҷиат мекунед, даъват мешавад
  • __set($name, $value) — вақте ки ба хусусияти нобуд ё дастрас накарда арзиш дода мешавад, даъват мешавад
  • __call($name, $arguments) — вақте ки ба методи нобуд даъват мешавад
  • __toString() — рафтори объектро вақте ки ба сатр табдил дода мешавад, муайян мекунад

Масали истифодаи __get ва __set:

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; // Натиҷа 'Иван'

Магикӣ методҳо имкон медиҳанд, ки рафтори объектҳоро дар роҳҳои гуногун флексиблона идора кардан ва аксар вақт барои иҷрои намунаҳои тарҳрезӣ ё соддагардонии интерфейси синфҳо истифода мешаванд.