Lompat ke konten
A alfach.com

FluentPDO : Smart Query Builder Untuk PHP

A alfach.com
2 menit baca
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 :

Kode
"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.

Shell
include "libs/FluentPDO/FluentPDO.php";

Untuk memulai Anda cukup menjalankan seperti :

PHP
$pdo = new PDO("mysql:dbname=blog", "root", "password");
$fpdo = new FluentPDO($pdo);

Contoh Implementasi

PHP
$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 :

SQL
SELECT article.*
FROM article
WHERE published_at > ?
ORDER BY published_at DESC
LIMIT 5

Contoh lainnya :

SELECT

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

INSERT

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

UPDATE

PHP
$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

PHP
$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

Bacaan terkait

php

Menerapkan IP Blocker di Laravel

Untuk meningkatkan security di website, salah satunya dengan menerapkan IP blocker atau mem-blokir IP address yang mengakses website. Di laravel salah satunya dengan...

1 menit

Komentar (0)

Belum ada komentar. Jadilah yang pertama.

Tulis komentar

Komentar akan dimoderasi sebelum tampil.

Tidak akan dipublikasikan.