<?php
error_reporting(E_ALL);
class Ololo
{
static private $Instance;
private function __construct()
{
echo "Я новое Ололо";
}
static public function getInstance()
{
if (self::$Instance !== null)
{
return self::$Instance;
}
self::$Instance = new self;
return self::$Instance;
}
}
А дальше начинаем ебать мозги:
$Obj = Ololo::getInstance();
Тут вопросов нет. Объект рождается без кесарева сечения
$ClassName = "Ololo";
$Obj = $ClassName::getInstance();
Вот тут наступает полный пиздец, который обходится следующим способом:
$ClassName = "Ololo";
eval ('$Obj = '.$ClassName.'::getInstance();');
Опять же объект у нас нормально создается
А теперь вопрос: есть ли какой-то менее ректальный способ??