Menulis untuk melakukan query adalah hal yang membosankan, karena harus mengikuti standar query dan kerap kali query yang dilakukan menjadi panjang. Tertarik untuk melakukan query dengan cara yang berbeda, Anda dapat menggunakan fluentPDO. Cara melakukan “query” menggunakan PDO itulah yang diterapkan oleh fluentPDO. Namun mungkin Anda pernah implementasi yang mirip dengan fluentPDO ini. Salah satu yang dijadikan kelebihan pada fluentPDO adalah pada query JOIN menjadi lebih mudah, yang ter-generate secara otomatis.
Fitur :
Fluent interface for creating queries step by step
Smart join builder
Simple API based on PDO and SQL syntax
Build SELECT, INSERT, UPDATE & DELETE queries
Small and fast
Type hinting with code completion in smart IDEs
Requires PHP 5.1+ with any database supported by PDO
Instalasi
Untuk menginstall FluentPDO dapat melalui composer. Tambahkan pada compose.json :
"require": { ... "lichtner/fluentpdo": "dev-master" }
Lalu anda cukup menjalankan composer update
Namun jika Anda kurang familiar dengan composer, cukup meng-copy direktori fluentPDO ke direktori project Anda.
include "libs/FluentPDO/FluentPDO.php";
Untuk memulai Anda cukup menjalankan seperti :
$pdo = new PDO("mysql:dbname=blog", "root", "password"); $fpdo = new FluentPDO($pdo);
Contoh Implementasi
$query = $fpdo->from('article') ->where('published_at > ?', $date) ->orderBy('published_at DESC') ->limit(5); foreach ($query as $row) { echo "$row[title]\n"; }
Maka, query yang dilakukan sebenarnya seperti :
SELECT article.* FROM article WHERE published_at > ? ORDER BY published_at DESC LIMIT 5
Contoh lainnya :
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);
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);
DELETE
$query = $fpdo->deleteFrom('article')->where('id', 1); // or shortly if you delete one row by primary key $query = $fpdo->deleteFrom('article', 1);
Menarik bukan?masih banyak dokumentasi dan cara yang dapat dilakukan di fluentPDO ini. Silahkan meluncur ke sini