Ho trovato il codice qui sotto in diversi punti del web e anche qui su Stack Overflow, ma non riesco a capirlo. So cosa fa, ma non so come faccia anche con gli esempi. Fondamentalmente sta memorizzando i valori, ma non so come aggiungo valori al registro. Qualcuno può tentare di spiegare come funziona questo codice, sia come imposto che come recuperare i valori da esso?Modello registro PHP
class Registry {
private $vars = array();
public function __set($key, $val) {
$this->vars[$key] = $val;
}
public function __get($key) {
return $this->vars[$key];
}
}
È necessario impedire la sovrascrittura della funzione set con qualcosa di simile al seguente (utilizza anche array_key_exists, dovrebbe essere usato per entrambi i set e ottenere in questo caso) che è probabilmente importante quanto non usare le chiavi inesistenti perché l'intero scopo di il registro è per memorizzare informazioni, che è un po 'sconfitto dalla possibilità di sovrascrivere: 'set di funzioni pubbliche ($ key, $ val) {if (! array_key_exists ($ key, $ this -> _ nfo)) {$ this-> _nfo [$ key] = $ val; }} – user1205600