__get-metode

Die metode __get word outomaties aangeroep by 'n poging om die waarde van 'n nie-bestaande of ontoeganklike eienskap van 'n objek te verkry. Hierdie magiese metode aanvaar een parameter - die naam van die aangevraagde eienskap.

Sintaksis

phppublic function __get(string $name) {
  // implementering
}

Voorbeeld

Kom ons skep 'n klas met 'n __get-metode wat waardes vir nie-bestaande eienskappe sal teruggee:

php<?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;
?>

Resultaat van die kode-uitvoering:

php'John'

Voorbeeld

Die __get-metode kan gebruik word om dinamiese eienskappe te implementeer:

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

Resultaat van die kode-uitvoering:

php'Dinamiese waarde vir test'

Sien ook

  • metode __set,
    wat aangeroep word by die instelling van 'n nie-bestaande eienskap
  • metode __call,
    wat aangeroep word by die aanroep van 'n nie-bestaande metode