omegaalfa / query-builder
Um Query Builder moderno e minimalista em PHP 8+, totalmente tipado e baseado em PDO, com suporte a cache, paginação, transações e geração fluente de SQL.
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/omegaalfa/query-builder
Requires (Dev)
- phpunit/phpunit: ^12.4
This package is not auto-updated.
Last update: 2025-11-08 23:34:01 UTC
README
🚀 Sobre o Projeto
Omgaalfa Query Builder é uma biblioteca moderna, leve e tipada em PHP 8.4+, criada para facilitar a construção fluente de queries SQL com PDO, cache, paginação e transações.
Inspirada em Eloquent e Doctrine, mas com zero dependências externas e foco em performance e simplicidade.
📦 Instalação
composer require omegaalfa/query-builder
🛠️ Requisitos
- PHP >= 8.4
- Extensão
pdohabilitada - Banco de dados compatível (MySQL, MariaDB, PostgreSQL, SQLite, etc.)
⚙️ Exemplo de Uso
use Omegaalfa\QueryBuilder\Connection\PDOConnection; use Omegaalfa\QueryBuilder\DatabaseSettings; use Omegaalfa\QueryBuilder\QueryBuilder; use Omegaalfa\QueryBuilder\Paginator; use Omegaalfa\QueryBuilder\enums\SqlOperator; use Omegaalfa\QueryBuilder\enums\OrderDirection; // Configuração da conexão $config = new DatabaseSettings( driver: 'mysql', host: 'localhost', database: 'ecommerce', username: 'root', password: '', port: 3306 ); // Instanciando $connection = new PDOConnection($config); $paginator = new Paginator(); $query = new QueryBuilder($connection, $paginator); // SELECT com filtros $sql = $query ->select('produtos', ['id', 'nome', 'preco']) ->where('preco', SqlOperator::GREATER_THAN, 100) ->orderBy('preco', OrderDirection::DESC) ->limit(10) ->getQuerySql(); echo $sql; // Resultado: SELECT id, nome, preco FROM produtos WHERE preco > ? ORDER BY preco DESC LIMIT 10
📚 Recursos Suportados
- ✅ SELECT / INSERT / UPDATE / DELETE
- ✅ WHERE / OR WHERE / WHERE IN / WHERE BETWEEN
- ✅ JOINs (INNER, LEFT, RIGHT, FULL)
- ✅ ORDER BY / GROUP BY / HAVING
- ✅ Consulta RAW (
raw) - ✅ Paginação integrada
- ✅ Suporte a SQL parametrizado (prepared statements)
- ✅ Totalmente tipado (Enums e interfaces)
- ✅ Compatível com PSR e padrão SOLID
- ✅ Sem dependências externas
🧪 Testes
Você pode escrever testes com PHPUnit. Exemplo de comando:
vendor/bin/phpunit
✅ Roadmap
- Suporte completo a SQL fluente
- Enums tipadas para JOINs, operadores e ordenação
- Paginação nativa com suporte ao total
- Suporte a consultas RAW
- Cache de queries (em andamento)
- Integração com outras camadas de repositório
- Compatibilidade multi-driver estendida
📄 Licença
Distribuído sob a licença MIT. Veja LICENSE para mais informações.
🤝 Contribuindo
Pull Requests, Issues e Forks são bem-vindos!
Siga os padrões de código e documente qualquer comportamento novo.
💬 Contato
Criado por Omegaalfa.
Para dúvidas ou sugestões: github.com/omegaalfa