348 of 410 menu

__get метод

__get методи мавжуд булмаган ёки етишмайдиган объект хоссасининг кийматини олиш уринишида автоматик тарзда чакирилади. Бу магик метод бир параметрни - сўралayotган хоссанинг номини кабул килади.

Синтаксис

public function __get(string $name) { // амалга ошириш }

Мисол

__get методи бор синф яратамиз, у мавжуд булмаган хоссалар учун кийматларни кайтаради:

<?php class User { private $data = [ 'name' => 'John', 'age' => 30 ]; public function __get($name) { if (array_key_exists($name, $this->data)) { return $this->data[$name]; } return null; } } $user = new User(); echo $user->name; ?>

Коднинг ишлаш натижаси:

'John'

Мисол

__get методи динамик хоссаларни амалга ошириш учун ишлатилиши мумкин:

<?php class DynamicProperties { public function __get($name) { return "Dynamic value for {$name}"; } } $obj = new DynamicProperties(); echo $obj->test; ?>

Коднинг ишлаш натижаси:

'Dynamic value for test'

Шунингдек кўринг

  • __set методи,
    мавжуд булмаган хоссани белгилаганда чакирилади
  • __call методи,
    мавжуд булмаган методни чакирганда чакирилади
rupliduzluz