Dúvidas Gerais |
|
|---|---|
|
07/10/2009, 08:45:56 |
Função &getInstance()Alguem poderia me explicar pra que serve essa função? Eu sei que é no comentário ta assim: "Retorna uma única instância (Singleton) da classe solicitada.", mas gostaria de saber para que ela é usada. Obs.: Eu tirei essa da classe Config, mais tem em quase todas. |
|
07/10/2009, 09:41:30 |
Função &getInstance()É isso mesmo que ela faz: Para que o framework não precise ficar instanciando a mesma classe em todas as chamadas à configuração, ela verifica se já houve alguma chamada, e a usa. |
|
07/10/2009, 10:05:01 |
Função &getInstance()PHP não tem variáveis de classe como no Ruby (variáveis estáticas não me parecem exatamente a mesma coisa), então eu sempre achei melhor usar variáveis de instância mesmo. Como para usar variáveis de instância eu precisaria de uma nova instância da classe (e perderia os dados, consequentemente), usei o pattern Singleton, que me permite usar variáveis de instância através de métodos estáticos. |
|
07/10/2009, 10:32:59 |
Função &getInstance()Hmmm..... agora intendi, pq quando vc declaro a var: Ela fica do mesmo jeito independentemente de quantas vezes for chamada, ai aki: ...verifica se ela ja foi instanciada, se não estancia, e depois retorna o próprio objeto que ja esta na variável. Essa parte eu intendi, agora o porque do self::getInstance(); aqui, por exemplo: ...não poderia ser usado $this->getInstance();? Eu to fazendo essas perguntas pq eu quero intende o funcionamento do core do spaghetti, pra mim pode ajuda no desenvolvimento de components e helpers tb, =) Vlw pessoal. |
|
07/10/2009, 10:40:46 |
Função &getInstance()Não, não poderia ser $this. Como é um método estático, não existe $this, porque não há um objeto, então não há ao que se referir. É também por isso que existe o getInstance, caso contrário eu poderia user $this->config[$key] ali, sacou? |
|
07/10/2009, 10:45:11 |
Função &getInstance()Hmm... não manjava nada disso de métodos e variáveis estáticas, agora to intendendo, pra que são usados e como são usados (vou pesquisar mais depois sobre Singleton). Vlw Julio e Klawdyo pelas explicações, depois se eu tiver mais alguma dúvida sobre alguma outra coisa eu abro um novo post. Flw. |
Você deve estar logado para responder a um tópico ou adicionar um novo.
Efetue login ou Registre-se para participar das discussões.
