sexta-feira, janeiro 20, 2017

Opções leves para abstração de banco de dados em PHP

Gosto de soluções simples e leves para meus projetos. No caso de abstração de banco de dados tradicionais (relacionais), vejo duas escolhas: ou trabalhar com o PDO (nativo do PHP) ou com uma abstrção simples que facilite o trabalho. Como nem sempre deseja-se um mapeamento objeto-relacional, não há como pensar que a solução deve ser um ORM (object relational mapper); é uma opção. Como restrição para essa lista é a leveza, a relativa estabilidade e a simplicidade da solução. Coloquei "relativa estabilidade" pois a evolução é e deve ser constante. Segue uma lista do que achei mais interessante:

ORM simples e estável em um único arquivo de fácil configuração e métodos estáticos. Já está na versão 4 e tem bastante recurso interessante além do básico que todos os ORMs possuem. Como ORM, recomendo.

Mapeador de Dados feito sobre o Doctrine BAL, possui uma característica que gosto como opção de trabalho: a definição da estrutura de dados (campos da tabela). Isso pode ser muito útil, pois essa restrição aos dados pode lhe dar flexibilidade na sua solução.

Inpirado no NotORM, foi escrito a partir de suas características de uma forma a agregar alguns benefícios dos ORMs sem estragar o conceito. A nomentclatura dos métodos não me agrada muito, mas possue um padrão que facilita o trabalho. Apesar de a PK, por exemplo, ser "id" por padrão, é customizável, o que também é interessante. Como eu curtia o NotORM, sou suspeito a opinar.

Se intitula como o framework PHP mais leve para acelerar o desenvolvimento. Realmente é bem simples e fácil de configurar. Possui, assim com o o RedBean um único arquivo a ser incluído no seu script ou na sua classe. Tem os métodos simples para trabalho com os dados e que ajudam em vários aspectos.

Todos dessa lista trabalham com os principais bancos como MySQL, SQLite e Postgres (e outros a ver em seus sites), pois usam o PDO por trás dos panos. 

Nenhum comentário: