Mam mały problem z tym wzorcem:
Klasa:<?php
class CubeRegistry
{
private $aRegistry = array();
private function __construct(){}
public static function getInstance
() {
{
self::$oInstance = new CubeRegistry();
echo '<br/>Utworzylem nowy obiekt'; }
echo '<br/>Zwracam instancje<br/>'; return self::$oInstance;
}
public function set($sName, $mValues)
{
$this->aRegistry[$sName] = $mValues;
}
public function get($sName)
{
return $this->aRegistry[$sName];
}
public function exist($sName)
{
return isset($this->aRegistry[$sName]); }
public function delete($sName)
{
unset($this->aRegistry[$sName]); }
}
?>
Plik index.php<?php
/**
* Testowanie klasy Registry
*/
require_once('Core/Cube/CubeRegistry.class.php');
$oRegistry = CubeRegistry::getInstance();
$oRegistry->set('a', 'zmienna a');
$oRegistry->set('b', 'zmienna b');
echo '<br/>a: ' . $oRegistry->get('a'); $oRegistry = CubeRegistry::getInstance();
echo '<br /><br /><a href="sesja.php">Dalej</a><br /><br />';
?>
Plik sesja.php<?php
/**
* Testowanie klasy Registry
*/
require_once('Core/Cube/CubeRegistry.class.php');
$oRegistry = CubeRegistry::getInstance();
echo $oRegistry->exist('a'); echo 'a: ' . $oRegistry->get('a'); $oRegistry = CubeRegistry::getInstance();
echo '<a href="index.php">Wstecz</a><br/><br/>';
?>
Odpalam index.php, tworzony jest obiekt Registry. Wrzucam do registry dwie zmienne. Wszystko ok. Przechodzę poprzez link do skryptu sesja.php i co? Obiekt registry jest tworzony jeszcze raz a ustawione wcześniej zmienne nie są widoczne. Co robię nie tak?