Есть class
<?php
class Registry implements ArrayAccess {
private $container = [];
public function offsetSet($key, $value) {
if (!$this->offsetExists($key))
$this->container[$key] = $value;
else
trigger_error('Variable ' . $key . ' already defined', E_USER_WARNING);
}
public function offsetGet($key) {
return $this->container[$key];
}
public function offsetExists($key) {
return isset($this->container[$key]);
}
public function offsetUnset($key) {
unset($this->container[$key]);
}
}
Есть код
$registry = new Registry;
$registry['z'] = 123;
test();
function test () {
$registry = new Registry;
echo $registry['z'];
echo 1;
}
По логике test должен выдать 1231. Но или я что-то не понимаю или class не рабочий