Ir para conteúdo

Arquivado

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

marcelobbt

PHP OO - Conceituais

Recommended Posts

Estou começando a desenvolver um programa em PHP OO e me veio algumas dúvidas.

 

1 - Se estou utilizando o PDO, seria interessante criar uma classe para manipular os dados do BD ou seria uma redundância?

 

2 - As classes que eu criar referentes as tabelas do banco têm que ser exatamente iguais às tabelas do banco? Exemplo: no bd tenho uma tabela usuario com id, nome e senha. A classe no php poderia ter só nome e senha ou é importante colocar todos os campos? (id, nome e senha)?

 

por hora é isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente se você pretende usar OO você deve usar objetos sempre.

 

Segundo é muito difícil de responder suas perguntas já que não temos noção do por que você pensou desse jeito e qual o objetivo da sua ferramenta.

 

Para cada tipo de problema já existem soluções que possam se adequar ao seu projeto (chamados design pattern), de uma lida a respeito.

 

Para banco de dados mesmo você procura algo mais próximo do DAO talvez com um valueObjects porém existem outros método como Active Record (usado pelo framework Codeigniter) entre outros etc...

 

minha sugestão é explorar um pouco as coisas prontas, NÃO COPIÁ-LAS mas sim adaptar a sua necessidade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A classe no php poderia ter só nome e senha ou é importante colocar todos os campos? (id, nome e senha)?

 

por hora é isso.

 

Um objeto deve ter apenas e tão somente uma responsabilidade, sem tem id e senha, ela teria duas ou mais responsabilidades porque com id se faz muitas coisas.

 

O objeto que faz a conexão não pode conter uma propriedade Id.

 

O que você chama de redundância por usar objetos para gerenciar outros, na verdade é apenas permitir que todo seu sistema não fique dependente de, por exemplo, PDO.

 

Você deve criar uma aplicação inteira somente para gerenciar conexões e gerenciamento geral dos dados, isso não tem nada a ver com seu sistema e deve ser construido separadamente e ser capaz de ser usado porque qualquer outro sistema.

 

Veja um exemplo, escrevi a muito tempo atrás um sistema de gerenciamento de banco de dados e usava na época as funções mysql_*, agora veja onde está a mágica, no momento que isso se tornou obsoleto, eu não tive qualquer problema para fazer a mudança de mysql_* para PDO, na verdade, gastei cerca de 1 hora, o motivo era que o gerenciamento do banco sempre esteve desacoplado de qualquer sistema.

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.