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




