1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Singleton Pattern

Discussão em 'Programação' iniciada por Gurzi, 5 de Abril de 2008. (Respostas: 3; Visualizações: 507)

  1. Gurzi

    Gurzi Power Member

    Boas malta, estou aqui a tentar aprender isto e estou com uma dúvida.

    Se eu chamar esta classe através de

    $a = $Singleton::getInstance();

    em páginas diferentes, vou obter o mesmo objecto ? ou vão ser objectos diferentes ?

    Estou a tentar aprender isto para conseguir ter apenas uma conecção aberta por utilizador À base de dados mas não estou a conseguir perceber isto

    Código:
    class Singleton {
       private static $instance = false;
      
       public static function getInstance(){
         if( self::$instance === false){
             self::$instance =  new Singleton;
         }
        return self::$instance; 
      }
    }
     
  2. Gurzi

    Gurzi Power Member

    Resolvido :

    Usando o Static tenho acesso ao objecto em todas as páginas.

    Usei uma função que me retorna o id do objecto ( http://pt.php.net/manual/en/function.spl-object-hash.php ) e comprova-se que é o mesmo.

    Uma coisa que me faz confusão, é o gajo ao carregar o load da classe, como é que ele sabe que aquela varíavel que é static é != de false, ou seja, que tem um resource instalado nela .

    Está na memória do pc ? Só perde o valor quando fechar o browser ?
     
  3. napalm

    napalm Power Member

    De certeza? Está a dizer que entre requests o getInstance retorna sempre o mesmo objecto?
    Olha que acho que o modphp não funciona assim. Que eu saiba só através de módulos à parte ou por serialização explícita de objectos.
     
    Última edição: 5 de Abril de 2008
  4. Gurzi

    Gurzi Power Member

    o hash retornou igualzinho :s
     

Partilhar esta Página