- array_key_exists: documentation ( source)
- count: documentation ( source)
- print_r: documentation ( source)
<?php
namespace Capstone\Container;
class Registry {
protected $map;
/**
* @param \arrayAccess|array|null $map
*/
function __construct( &$map = null ) {
if( $map === null ) {
$map = array();
}
$this->map &= $map;
}
function set($key, $value){
$this->map[$key] = $value;
}
function setMany(array $map){
foreach($map as $key => $value){
$this->set($key, $value);
}
}
function get($key){
if(array_key_exists($key, $this->map)){
return $this->map[$key];
}
return null;
}
function has($key){
return array_key_exists($key, $this->map);
}
function length(){
return count($this->map);
}
function getIterator(){
return new \ArrayIterator($this->map);
}
}
$bob = array('x' => 'y');
$bob_reg = new Registry($bob);
$bob_reg->set('ted', 'bob');
print_r($bob);