PHP-ORM
Despretencioso ORM para uso em operações CRUD simples.
Expande as classes abstratas do projeto phpdatamodel permitindo converter
uma coleção de modelos de dados em um SCHEMA SQL e dando capacidade de
inserir, alterar, excluir registros além de formar e controlar vínculos 1-1,
1-N ou N-N entre os registros definidos.
Além de ter conhecimento no desenvolvimento de projetos de bancos de dados é recomendado conhecer o projeto phpdatamodel para entender como utilizá-lo adequadamente.
Uma das formas mais rápidas para aprender sobre o funcionamento deste projeto é observando os testes unitários que acompanham este pacote. Em especial os que se referem a classe "Schema", "DataTableFactory" e a própria "DataTable".
Obs 01: Até o momento, apenas está presente o suporte a bancos de dados MySQL.
Um apelo ao bom senso
Desenvolvedores mais experiêntes e/ou prudentes conhecem/perceberão os riscos
de utilizar este tipo de ferramenta de forma ostensiva e indiscriminada. É
muito fácil se deixar levar pela simplicidade de uso e recorrer a esta para
qualquer fim.
Apesar de não haver contra indicações para uso em projetos de pequeno porte
(ou em áreas pequenas ou restritas de um grande projeto), conforme o mesmo
escalar, se não houver sido bem dimensionado será possível perceber perca de
performance e gargalos ocorrerão (isto com qualquer ORM).
Ocorre que, ao lidar com os registros de um banco de dados desta forma estamos
sempre lidando com os registros por inteiro (todas as colunas são carregadas)
e cabe ao desenvolvedor ponderar se vale mesmo tal custo em cada parte do
projeto.
Se você precisa apenas ler ou alterar uma única coluna de dados (ou muito
poucas dentro do espectro dos dados que estão em vista) é melhor utilizar uma
instrução SQL que reproduza o resultado que você deseja do que carregar todo
o registro para ver/alterar uma parte diminuta do mesmo.
Instalação
Instale em seu projeto usando o composer:
Via terminal
> composer require aeondigital/phporm
Via composer.json
"require": {
"aeondigital/phporm": "dev-master"
}
Outras Informações
Este e outros projetos Aeon Digital utilizam o sistema de Versionamento Semântico proposto por Tom Preston-Werner.
O diretório tests
contendo os testes em PHPUnit
não está disponível por
padrão para pacotes instalados usando o composer mas o mesmo pode ser obtido no
repositório oficial.
A documentação completa pode ser vista em ReadTheDocs.
Licença
Este software está licenciado sob a Licença ADPL-v1.0.