Home / php / FluentPDO : Smart Query Builder Untuk PHP

FluentPDO : Smart Query Builder Untuk PHP

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

About alfach

Check Also

laravel

Tips : Menggunakan Protokol HTTPS pada Laravel

Ini tips sederhana bagi Anda yang menggunakan framework laravel pada web yang menggunakan protocol HTTPS. ...

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>