Когда вы программируете на языке, который не является строгим ООП, легко использовать темную сторону силы:
function getInstance() {
global $singleObj;
if (!is_object($singleObj)) $singleObj = new Foo();
return $singleObj;
}
А почему бы и нет?Выглядит страшнее, чем строгий синглтон?Я так не думаю.
(Также не забывайте, что PHP4 не поддерживает наследование - я провел с ним несколько часов.)