Implementações de Singleton têm aos milhares por aí e uma das mais simples é essa:
public static function init()
{
	 if ( NULL === self :: $instance )
	 {
		  self :: $instance = new self();
	 }
		
	 return self :: $instance;
}Perfeito.Daí eu fui retomar um arquivo aqui só para não perder o costume e percebi que eu estava usando Singleton de um lado e instância"comuns" (com new) de outro.
Não que não funcionasse, mas que queria tentar de outro jeito.
Tirando as verificações eu fazia:
$var = new $_GET['var'];Onde o nome da classe passa pela URL em querystring.
Daí, fui passar para Singleton por pura

Adicionei aquele bloco na classe (que o nome passou por GET) e troquei a linha acima por:
$var = $_GET['var'] :: init();E resulta parse error. Se eu tiro a variável e passo a palavra que passa por GET diretamente, funciona.
Pergunta: Essa implementação de Singleton não permite usar variáveis para obter a instância?
Se não, como faço então?


 
	 
					 
			
			








