Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvidas sobre a estrutura de um projeto

Pessoal, boa tarde ! No inicio de curso de PHP notei que a estrutura do projeto desenvolvidos era a seguinte: formulário de inserção de dados, seguida de página para tratamento dos dados vindos dos array GET e POST e, por fim, outra com a funções relativas ao CRUD. Quando cheguei no módulo de DAO, percebi que houve uma mudança na estrutura, pois as funções referente ao CRUD mudaram de local , passando a ficar isoladas na classe ProdutosDao.php Agora que cheguei no módulo de PDO, notei que ocorreu uma nova mudança na estrutura a parte relacionado ao CRUD saiu da classe Dao e foi colocada juntamente com o método get e set da classe Produto.php. Afinal de contas, onde deve ficar os métodos inserir,atualizar,criar e deletar ? Existe um padrão para isso ?

1 resposta
solução!

Olá, Gerson.

Existem vários padrões.

O padrão que adiciona dentro da classe de negócio (Produto, por exemplo) se chama ActiveRecord. Este padrão mistura o código de negócios com o código de acesso a dados. Eu particularmente não encorajo o uso desta forma.

Já separar uma classe para acesso aos dados parece bem mais elegante, e a esse padrão se dá o nome de DAO ou Repository.

Isso é uma decisão arquitetural que só a sua experiência vai apontar o melhor caminho, mas se você quer uma sugestão, siga pelo padrão de DAO ou Repository pois é mais coeso e desacoplado.

Um estudo sobre o Doctrine ORM talvez desse uma nova visão pra você sobre como gerenciar os dados.

:-D