Dwi Setiyadi

Goresan di Atas Air. Cawan untuk menuangkan ide, gagasan, kejadian sehari-hari yang saya alami, serta tempat untuk saya berbagi karya. Read more »

Menggunakan Class Database Codeigniter Secara Independen { 0 }

Bagi pembaca yang telah terbiasa dengan programming menggunakan framework di PHP, tentu familiar dengan Codeigniter. Framework ini memiliki database class dengan implementasi ActiveRecord design pattern yang baik. Nah, bagaimana kalau muncul kebutuhan untuk menggunakan database class nya saja, tanpa menggunakan frameworknya? Berikut ini saya sertakan bagaimana menggunakan database class Codeigniter versi 1.7.1 secara independen (standalone).


Langkah awal yang dilakukan adalah membuat script factory untuk menginisiasi database class agar dapat digunakan dengan baik, berikut ini code nya:

<?php
// filename factory.php

define(BASEPATH,”./”);
define(EXT,”.php”);
include_once (“database/DB.php”);

function log_message(){/*just suppress logging*/}

Class database {
private static $CIAR;
public static function factory()
{
self::$CIAR =& DB() ;
return self::$CIAR;
}
}
?>

Berikutnya copy file konfigurasi database Codeigniter yang ada pada aplikasi codeigniter yaitu APPPATH/config/database.php ke dalam folder yang sama dengan file factory.php diatas. Salin juga folder database berserta seluruhnya pada aplikasi codeiniter yang ada pada BASEPATH/database, ke dalam folder yang sama dengan file factory.php. Lalu edit file DB.php yang ada dalam folder database:

cari baris:
include(APPPATH.’config/database’.EXT);

ubah menjadi:
include(BASEPATH.’database’.EXT);

Selesai!

Penggunaannya adalah sebagai berikut:

Edit konfigurasi database sesuai dengan mesin anda pada file database.php di folder yang sama dengan file factory.php. Lalu buat file untuk menjalankan query database class:

<?php
// filename tes.php, hanya contoh saja

include(“factory.php”);
$activerecord = database::factory();

$activerecord->where(’status’, ‘publish’);
$query = $activerecord->get(“blog”);
foreach ($query->result() as $row)
{
echo $row->title.’
‘;
}
?>

Perlu diperhatikan, database class Codeigniter ini menggunakan library Exception.php untuk menangani error reporting, sehingga jika ada kesalahan kode query yang dibuat maka error reporting ala Codeigniter tidak dapat ditampilkan. Dalam hal ini pembaca dapat memodifikasi lebih lanjut jika menghendaki error reporting ala pembaca sendiri. Semoga bermanfaat.

Leave a Reply