FluentPDO

FluentPDO es una librería Query Builde hecha en PHP bajo PDO que nos permite agilizar las consultas a la base de datos.

Características:

  • Interfaz Fluido para crear consultas paso a paso
  • Basado en la sintaxis de SQL y PDO
  • Realiza SELECT, INSERT, UPDATE y DELETE
  • Pequeño y rápido
  • Requiere PHP 5.1+ con cualquier base de datos soportada por PDO

Al usar PDO nos permite usar varios gestores de bases de datos sin andar cambiando de funciones.

PHP Data Objects (o PDO) es una extensión que provee una capa de abstracción de acceso a datos para PHP 5, con lo cual se consigue hacer uso de las mismas funciones para hacer consultas y obtener datos de distintos manejadores de bases de datos.

Para usar fluentPDO

// Incluimos la libreria
include "libs/FluentPDO/FluentPDO.php";
// Creamos el objeto PDO y fluentPDO
$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password'); 
$fpdo = new FluentPDO($pdo);

Simple crud con FluentPDO

// SELECT
$query = $fpdo->from('article')->where('id', 1);
// or shortly if you select one row by primary key
$query = $fpdo->from('user', 1);

// INSERT
$values = array('title' => 'article 1', 'content' => 'content 1');
$query = $fpdo->insertInto('article')->values($values);
// or shortly
$query = $fpdo->insertInto('article', $values)->execute();

// UPDATE
$set = array('published_at' => new FluentLiteral('NOW()'));
$query = $fpdo->update('article')->set($set)->where('id', 1);
// or shortly if you update one row by primary key
$query = $fpdo->update('article', $set, 1)->execute();

// DELETE
$query = $fpdo->deleteFrom('article')->where('id', 1);
// or shortly if you delete one row by primary key
$query = $fpdo->deleteFrom('article', 1)->execute();

// Especificando un campo
$query = $fpdo->from('users')->select(array('firstname', 'lastname'))->where('id', $userid);

// Order by
$query = $fpdo->from('book')->orderBy('price');

// Order by DESC
$query = $fpdo->from('book')->orderBy('price DESC');

// Group by
$query = $fpdo->from('users')->select('firstname, COUNT(*) AS cn')->groupBy('firstname');

// Limit and Offset
$query = $fpdo->from('users')->where('id', $userid)->limit(20)->offset(0);

Descargar FluentPDO
http://envms.github.io/fluentpdo/
https://github.com/envms/fluentpdo

Deja un comentario