Usar o Dao na mao e muito trabalhoso, e usar AR acho que fica muita responsabilidade para a class, alguem ja pensou em trabalhar com ORM usando o yii ??
Usar o Dao na mao e muito trabalhoso, e usar AR acho que fica muita responsabilidade para a class, alguem ja pensou em trabalhar com ORM usando o yii ??
Bom, até onde eu saiba AR é uma forma de ORM, não?
Que tipo de responsabilidade você acha que está em exagero no AR?
o objeto de negocio se auto savar, ele fazer busca pra trazer objeto dele mesmo isso nao deveria ser responsabilidade do objecto e sim de um DAO o ORM vc faz o mapeamento dos atributos referente ao campo da tabela, ja o AR sua propria entidade do banco e o model, com o orm os meus tributos tao mapeado dae passo para um DAO e ele faz a camada da persistencia nao o proprio objeto… por ex no meu objeto coloco o atributo como nome e faco o mapeamento pro meu banco razaosocial…
Até concordo.
Na verdade até acho que seria o correto na OOP pelo fato de que Pessoa nao insere, nem exclui nada.
Classe Pessoa é uma representação de uma Pessoa. Ponto. E só! Daí armazenar as pessoas em um banco de
dados já é outra coisa.
Agora único fw que vi trabalhando dessa forma foi o Hibernate, que por sinal faz uma falta muito grande no PHP…
tipo o hibernate, tenta o lumine, o cara se inspirou…
mas da pra usar doctrine no Yii
O lumine tbm junta toda a tranquera e bota na classe.
Não conheço O Hibernate (ando fugindo de tudo relacionado a Java =D), então não faço idéia de como ele faz o trabalho. Já o Doctrine, pelo o que vi, é um AR mais avançado, ou estou falando besteira?
De fato, o AR quebra o principio da responsabilidade única, mas, na maioria dos casos não vejo isso como problema. Em projetos grandes, onde o volume de informações seja grande e a performance seja algo crucial, acredito que o AR vai ser um problema.
No geral é muito mais fácil fazer algo do tipo:
$usuario = new Usuario;
$usuario->username = 'davi';
$usuario->password = '123mudar';
$usuario->save();
Rss dei de referencia o hibernet pois ele e o mais famoso ORM,e quye to nesta situacao aonde o projeto que to trabalhando e um pouco grande uma situacao aonde o AR pode transforma se em um problema quando vc tem fazer uma persistencia e quando faz a persistencia tem que fazer n coisas sei que no AR temos o afters … befores so que dae a class comeca fazer muito mais coisas do que ela precisa … alem de fazer a persistencia usando um ORM por ex
vc teria o DAO que fazer a persistencia
UsuarioDAO…
salvar($usuario){
$session = $conecao->factorSession;
$session->save($usuario);
$session->flush;
…
}