Slim Framework 3: Akses Database Menggunakan PDO

slim-logoSlim Framework 3 secara default tidak menyediakan paket database, kita memiliki kebebasan untuk memilih paket database sesuai kebutuhan.  Pada artikel ini saya akan membahas akses database menggunakan  Slim Framework 3 untuk menampilkan data menggunakan PDO.

PDO (PHP Data Objects), adalah ekstensi dalam PHP yang dirancang sebagai antarmuka universal untuk pengaksesan berbagai jenis database (tidak hanya MySQL). Contohnya, jika kita menggunakan PDO dalam menulis kode pemograman, lalu suatu saat situs web kita bertukar database dari MySQL ke Oracle, maka kita tidak perlu mengubah semua kode program, cukup mengubah cara pemanggilan PDO di awal program saja.

Mari kita mulai langkah-langkah untuk pengaksesan database di Slim Framework 3 menggunakan PDO. Database server yang akan kita gunakan adalah MySQL.

PERSIAPAN DATABASE

CREATE DATABASE db_slim;
  • Pada database db_slim, buatlah tabel buku dengan field-field sebagai berikut:
CREATE TABLE IF NOT EXISTS buku (
  id_buku int(11) NOT NULL AUTO_INCREMENT,
  judul varchar(200) NOT NULL,
  pengarang varchar(100) NOT NULL,
  PRIMARY KEY (id_buku),
  UNIQUE KEY (judul)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
  • Masukkan 2 data dummy ke dalam tabel buku:
INSERT INTO buku VALUES(null,'PHP - MySQL','Dzatufikroh');

INSERT INTO buku VALUES(null,'Slim Framework 3','Azuwir');

MENAMPILKAN DATABASE

  • Buka file index.php yang terdapat dalam direktori slim, kemudian tambahkan fungsi / method untuk koneksi database (function DBConnection) dan routing /show untuk menampilkan data dari database. Kode lengkapnya dapat dilihat di bawah ini:

AksesDB

  • Buka browser dan ketik alamat: http://localhost/slim/index.php/show, maka akan muncul tampilan seperti di bawah ini:

AksesDB-2

Sampai di sini dulu tutorialnya, artikel selanjutnya saya akan membahas implementasi Restfull API sederhana menggunakan PDO. Semoga bermanfaat 🙂

You may also like

Leave a Reply

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