Jump to content


Photo

Obter Instância Singleton Dinâmicamente...


  • Faça o login para participar
Nenhuma resposta neste tópico

#1 Bruno Augusto

Bruno Augusto

    ∙•● Restarting... ●•∙

  • Usuários
  • 1968 posts
  • Sexo:Não informado
  • Localidade:Itajubá

Posted 08/04/2009, 15:06

Pessoal,

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 frescura vontade de aprender :lol:

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?




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq