Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

leonardufb

Melhores práticas MVC

Recommended Posts

Olá pessoal, estou tendo alguns problemas em um sisteminha de helpdesk que desenvolvi, onde, ao listar registros acima de 70, obtenho a seguinte mensagem "TOO MANY CONNECTIONS".

 

Atualmente tenho a seguinte situação:

 

Tabela USUÁRIOS que referencia GRUPO e EMPRESA.

Classe USUARIO, Classe Grupo e Classe Empresa, quando estou passando os dados para montar o objeto USUARIO, no setUsu_grupo estou passando o ID do grupo, onde, esse objeto vai no banco e seta nessa propriedade o objeto GRUPO e EMPRESA.

 

Ou seja, pra cada objeto USUARIO, ele cria um objeto GRUPO e USUARIO associado.

 

Acredito que seja esse o problema, no entanto, como estudo a pouco MVC, estou em busca da melhor prática, uma outra alternativa para esse problema que encontrei foi criar JOIN's no meu model, mas, também não sei se é o ideal.

 

Espero ter passado de forma clara meu problema,

 

Quem puder sanar essa dúvida desde já agradeço...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize o design parttern singleton no objeto de criação do banco de dados.

 

Pelo que eu entendi do erro, é que estão sendo abertas muitas conexões, isso deve estar ocorrendo pois cada instancia do objeto usuário, tem instancias do objeto grupo e do empresa, então para cada usuário são 3 conexões, se são 70 usuários dão 210 conexões.

 

Usar os joins para pegar é algo que você DEVE fazer. Mas acredito que isso não resolva o problema, pois o seu problema são as várias conexões com o banco que você esta abrindo.

 

Nesse site tem um exemplo do padrão de projeto Singleton aplicado a banco de dados, que é exatamente o que você precisa:

http://www.phpbrasil.com/artigo/WXx4D36NeYNh/implementando-o-padrao-singleton-com-php5

 

Até mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Utilize o design parttern singleton no objeto de criação do banco de dados.

 

 

JAMAIS!

 

Você provavelmente está abrindo conexões para cada operação que executa. Sem código, fica difícil dizer o que está acontecendo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

Queridos, estão querendo resolver um problema de código, SEM CÓDIGO!

 

Não dá pra assumir design pattern algum sem ver uma linha de código da gambiarra que está sendo feita.

 

Se o palpite do @jhrhp estiver correto...

 

Pelo que eu entendi do erro, é que estão sendo abertas muitas conexões, isso deve estar ocorrendo pois cada instancia do objeto usuário, tem instancias do objeto grupo e do empresa, então para cada usuário são 3 conexões, se são 70 usuários dão 210 conexões.

... isso se resolve com uma simples injeção de dependência, no lugar de fazer [inline]class QualquerCoisaQueUsaDB extends DB {}[/inline]

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

JAMAIS!

 

Você provavelmente está abrindo conexões para cada operação que executa. Sem código, fica difícil dizer o que está acontecendo...

A única coisa que você pode usar relacionado a singleton/DB é Registry.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.