Tenho o prazer de anunciar que o Atlas.Query está agora estável e pronto para uso em produção! A instalação é tão fácil quanto composer require atlas/query ~1.0.
Com o Atlas.Query e qualquer instância do PDO, você pode criar e executar suas consultas em uma única série fluente de chamadas de método:
use Atlas\Query\Select; $rows = Select::new($pdo) ->columns('*') ->from('posts') ->where('id IN ', $ids) ->fetchAll(); foreach ($rows as $row) { // ... }
Se preferir, você pode exercer um bom controle sobre sua conexão PDO, usar uma fábrica de consultas ou construir suas consultas em etapas menores:
use Atlas\Pdo\Connection; use Atlas\Query\QueryFactory; $connection = Connection::new( 'mysql:host=localhost;dbname=testdb', 'username', 'password' ); $queryFactory = new QueryFactory(); $select = $queryFactory->newSelect($connection); $select->columns('*'); $select->from('posts'); $select->where('id = ', $id); $row = $select->fetchOne();
O Atlas.Query fornece todo o poder do SQL na ponta dos seus dedos.
$select ->columns(...) ->from(...) ->join(...) ->where(...) ->groupBy(...) ->having(...) ->orderBy(...) ->limit(...) ->offset(...);
Junto com UNIONs, paginação, sub-selects, vinculação de valores inline e todos os tipos de estilos de busca e produção.
O Atlas.Query também é fornecido com os construtores INSERT, UPDATE e DELETE:
use Atlas\Query\Insert; $insert = Insert::new($pdo); // insert a row ... $insert->into('posts') ->columns([ 'title' => $title, 'body' => $body, ]) ->raw('created_at', 'NOW()') ->perform(); // ... and get back the autoincrement value: $post_id = $insert->getLastInsertId();
Você trabalha em projetos diferentes com diferentes backends de datbase? O Atlas.Query permite que você use a mesma interface para todos eles, sem restringi-lo a um subconjunto comum de funcionalidade. MySQL, PostgreSQL, SQLite e SQL Server são todos suportados explicitamente.
E se você descobrir que precisa de mais do que apenas um sistema de consulta, terá um caminho claro de refatoração para o Atlas.Orm. Se você estiver procurando por um sistema de consulta moderno, estável e fácil de usar, experimente o Atlas.Query no seu projeto!
***
Paul M. Jones faz parte do time de colunistas internacionais do iMasters. A tradução do artigo é feita pela Redação iMasters, com autorização do autor, e você pode acompanhar o artigo em inglês no link: http://paul-m-jones.com/archives/6900