Dzisiaj caly dzien siedze i nie moge zrozumiec jednej rzeczy... dla mnie jest wszystko ok a mimo to dostaje kosmiczne wyniki.
Chcialem napisac klase rejestru ktora bylaby Singletonem. Ale za nic nie rozumiem dlaczego nie dziala... korzystam niby z php5. Moze cos z moim php jest nie tak?
Napisalem taki kod:
class Singleton {
static private $instance = NULL;
private $vars = array();
// funckja dodaje zmienna do rejestru
public function __set($index, $value) {
$this->vars[$index] = $value;
}
// funkcja zwraca zmienna z rejestru
public function __get($index) {
return $this->vars[$index];
}
private function __construct() {
}
static public function getInstance() {
if (self::$instance == NULL) {
self::$instance = new Singleton();
}
return self::$instance;
}
}
$Singleton = Singleton::getInstance();
$Singleton->cos= 4;
$Singleton2 = Singleton::getInstance();
echo $Singleton2->cos.' // powinno byc 4<br />';
echo $Singleton2->cos= 6;
echo $Singleton->cos.' // powinno byc 6<br />';
I ku zdziwieniu otrzymuje taki wynik:
4 // powinno byc 4
66 // powinno byc 6
Dlacze 66 a nie 6?
Paranoja.
Oczekiwalem wyniuku:
4 // powinno byc 4
6 // powinno byc 6
Pozdrawiam wszystkich i z gory dziekuje za odpowiedzi.