Habe ich genauso wenig ein Problem mit Oder ich verstehe dich einfach komplett falsch.
PHP:
abstract class Singleton
{
protected function __construct() {}
static final function &getInstance()
{
static $instance;
if(!isset($instance))
$instance = new static();
return $instance;
}
protected function test_($cls)
{
echo "Hallo sagt ".$cls."<br />";
}
}
class test extends Singleton
{
public function test_()
{
parent::test_(__class__);
}
}
class test1 extends Singleton
{
public function test_()
{
parent::test_(__class__);
}
}
class base extends Singleton
{
protected function __construct()
{
parent::test_(__class__);
}
function load($classname)
{
$this->$classname = &$classname::getInstance();
$this->$classname->test_(); // Test von "Innen"
}
}
$b = &base::getInstance();
$b->load('test');
$b->load('test1');
$b->test->test_(); // Test von "Außen"
var_dump($b);