Znalazłem kawałek kodu poniżej w kilku miejscach w Internecie, a nawet tutaj w Stack Overflow, ale po prostu nie mogę owinąć się wokół niego. Wiem, co robi, ale nie wiem, jak to działa, nawet w przypadku przykładów. Zasadniczo jest przechowywanie wartości, ale nie wiem, jak dodać wartości do rejestru. Czy ktoś może spróbować wyjaśnić, jak działa ten kod, zarówno w jaki sposób ustawiam i pobiera z niego wartości?Rejestru rejestru PHP
class Registry {
private $vars = array();
public function __set($key, $val) {
$this->vars[$key] = $val;
}
public function __get($key) {
return $this->vars[$key];
}
}
Powinieneś uniemożliwić nadpisanie zestawu za pomocą czegoś podobnego do poniższego (używa również argumentu tablica_key_istnieje, powinno używać go zarówno dla zestawu, jak i uzyskać w tym przypadku), co jest prawdopodobnie równie ważne jak nieużywanie nieistniejących kluczy, ponieważ cały cel rejestr jest do przechowywania informacji, który jest rodzaju pokonany przez możliwość nadpisania: 'public function set ($ key, $ val) {if (! array_key_exists ($ key, $ this -> _ nfo)) {$ this-> _nfo [$ key] = $ val; }} ' – user1205600