Od tygodnia walcze z singletonem (przejrzalem cale forum i kawałek google)
ale niestety nie wychodzi mi to. Czy ktoś mógłby mi wytłumaczyć na moim przykładzie co tutaj jest źle i dalczego to nie działa? Ewentualnie przrobić ten skrypt tak żeby działał

[php:1:e10f162ad9]<?php
function & instance($clasa)
{
static $inst;
if (@is_null($inst[$clasa]))
{
$inst[$clasa] = new $clasa;
}
return $inst[$clasa];
}
class db
{
var $test2;
function db()
{
$this -> test2 = &instance('test');
$this -> test2 -> add('db', 'wartosc');
}
}
class test
{
var $arr = array();
function add($zmienna, $wartosc)
{
$this ->arr [ $zmienna ] = $wartosc;
}
function print_all()
{
print_r($this -> arr);
}
}
class main
{
var $db;
var $test;
function main()
{
$this -> test = new test;
$this -> db = new db;
$this -> test -> add('main', 'wartosc');
}
}
$core = new main;
$core -> test -> add('core', 'wartosc core');
$core -> test -> print_all();
/*
powinno wyswietlic:
Array
(
[main] => wartosc
[core] => wartosc core
[db] => wartosc
)
no chyba ze w innej kolejnosci

*/
?>[/php:1:e10f162ad9]
Pozdro