Wednesday, December 03, 2008

Menikmati OOP dengan PHP 5 dan ADODB Library

Belakangan ini saya lagi seneng ngoprek Pustaka ADODB, detail singkat tentang ADODB bisa dibaca di http://xbata.com. Dari manual ADODB yang terbaru yang dirilis di http://adodb.sourceforge.net/ banyak fitur-fitur baru yang memanfaatkan OOP dalam kode programnya, salah satunya adalah penggunaan fitur ADOdb Active Record.

ADOdb_Active_Record adalah sebuah Object Relation Mapping (ORM) yang diimplementasi dengan menggunakan PHP. Dalam ORM table-table dalam database akan didefinisikan secara native oleh program PHP, karenanya programmer tidak perlu lagi atau dapat dikatakan sedikit melakukan penulisan query.
Berikut Fitur-fitur dasar penggunaan ADOdb Active Record :
  1. Seting Koneksi database : File adokoneksi.php

    include('adodb/adodb.inc.php');
    require_once('adodb/adodb-active-record.php');
    $driver = 'pgsql';

    // definisikan variabel database
    define("DBHOST","localhost");
    define("DBUSER","rojul");
    define("DBPASS","r4h4si4");
    define("DBNAME","latihan");

    $db = ADONewConnection($driver); # eg. 'mysql' or 'oci8'
    $db->debug = true;

    // Koneksi Ke Database
    //$db->Connect($server, $user, $password, $database);
    $status = $db->Connect(DBHOST,DBUSER,DBPASS,DBNAME);

    ADOdb_Active_Record::SetDatabaseAdapter($db);


  2. Misal didatabase kita terdapat table bukus ( konsensu : nama table diakhiri dengan huruf s) dan terdapat field-field : ISBN, judul dan jumlah, dengan memanfaatkan ORM maka kode program untuk menyimpan data buku adalah :

    class Buku extends ADOdb_Active_Record{}
    $buku = new Buku();
    $buku->isbn='123-453';
    $buku->judul='Development PHP with ADODB';
    $buku->jumlah= 6 ;
    $buku->save();

  3. Untuk menampilkan data buku dengan nomor isbn tertentu :

    class Buku extends ADOdb_Active_Record{}
    $buku = new Buku();
    $buku->Load('isbn=123-453');
    echo 'ISBN '. $buku->isbn;
    echo ' | Judul '.$buku->judul;
    echo ' | Jumlah '.$buku->jumlah;