Pergunta

Eu herdei um velho rabugento PHP application, e gostaria de refatorá-lo em algo um pouco mais agradável de lidar, mas de maneira gradual.No CPAN do perl, há uma série de classes em torno de Class::DBI que permitem usar linhas do banco de dados como base para objetos em seu código, com a biblioteca gerando accessor methods etc conforme apropriado, mas também permitindo adicionar métodos adicionais.

Alguém sabe de algo assim para PHP?Especialmente algo que não requer a adoção generalizada de uma "estrutura"...pontos extras se funcionar em PHP4 também, mas para ser honesto, adoraria ter outro motivo para abandonar isso.:-)

Foi útil?

Solução

Agora está extinto, mas phpdbi possivelmente vale a pena dar uma olhada.Se você estiver disposto a abrir mão de algumas de suas advertências (a da estrutura), descobri que Doutrina é uma maneira muito legal de acessar bancos de dados em PHP.Vale a pena investigar de qualquer maneira.

Outras dicas

Classe::DBI é um ORM (Mapeador Relacional de Objetos) para Perl.Pesquisar por "PHP ORM" no Google dá alguns bons resultados, incluindo Doutrina, com o qual tive boa sorte.Eu começaria por aí e iria subindo.

Estou tentando obter mais feedback sobre meus próprios projetos, então vou sugerir minha opinião sobre ORM: ORMer

Exemplos de uso são aqui

Você pode implementá-lo gradualmente, não exige a adoção do MVC e requer muito pouca configuração.

O correto é acessar o banco de dados através de uma camada de abstração de forma que se você alterar seu RDBMS ou como implementou esse acesso, você só precisará modificar essa camada enquanto todo o resto do seu aplicativo permanece intacto.

Para isso, para liberar sua aplicação de saber lidar com o banco de dados, sua camada de abstração para acesso ao BD deve ser implementada por um framework como ADODB.

Todos os arquivos relacionados a esta camada devem estar localizados em um subdiretório:

  • /alvoroço

Neste diretório você colocará todos os seus arquivos .php.inc que contém métodos gerais para acessar o banco de dados.

Que tal MDB2 de pêra?

Ele fornece uma API comum para todos os RDBMs suportados.A principal diferença para a maioria dos outros pacotes de abstração de banco de dados é que o MDB2 vai muito mais longe para garantir a portabilidade.

Por falar nisso:@GaryF, quais são esses atributos de título estranhos que seus links possuem?Você os adicionou ou eles foram adicionados por SO?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top