Design Pattern : Registry

Het Design Pattern (ontwerppatroon) Registry is een manier om variabelen toegankelijk te maken in andere objecten.

De registry klasse :

Class Registry
{
  private $vars = array();

  public function __set($index, $value)
  {
    $this->vars[$index] = $value;
  }

  public function __get($index)
  {
    return $this->vars[$index];
  }
}

Creëren van een registry object :

$registry = new Registry();

Creëren van een database object :

$registry->database = new Database($registry);

Het registry object wordt als parameter aan de constructor van het database object doorgegeven.

private $registry = null;

public function __construct($registry)
{
  $this->registry = $registry;
}

In het database object kan nu het registry object geraadpleegd worden.