АКЦЫЯ: бясплатныя месячныя курсы па стварэнні сайтаў
на выбар: вёрстка, JavaScript, PHP, Python або фрэймворкі. Сёння апошні дзень для запісу! Націскай!
348 of 410 menu

Метад __get

Метад __get аўтаматычна выклікаецца пры спробе атрымаць значэнне неіснуючай або недаступнай уласцівасці аб'екта. Гэты магічны метад прымае адзін параметр - імя запатрабаванай уласцівасці.

Сінтаксіс

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,
    які выклікаецца пры выкліку неіснуючага метаду
byenru