aeondigital/phporm

Despretencioso ORM para uso em operações CRUD simples.


Keywords
database, orm, data, object, pdo, access, model, format, crud, base, update, layer, validate, insert, delete, dal, field, relational
License
CNRI-Python-GPL-Compatible

Documentation

PHP-ORM

Aeon Digital
rianna@aeondigital.com.br

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.