Membuat CRUD Sederhana Dengan PDO (1)
PHP Data Objects atau PDO adalah interface yang disediakan oleh PHP untuk terhubung dengan database server yang bersifat universal. Kenapa disebut universal ? karena PDO sendiri tidak terikat dengan mesin database tertentu. Berarti ada dong interface yang tidak universal ? Tentu ada, dan mungkin sudah banyak kita gunakan sebelumnya yakni mysql_* dan mysqli.
Kalau di .NET saya biasanya menggunakan Origami yang merupakan sebuah micro-framework yang di dalamnya juga terdapat interface untuk koneksi database yang sifatnya universal yang berbasis System.Data.Common.
Membuat Table
Sebelum memulai membuat CRUD sederhana dengan PDO, terlebih dahulu silahkan membuat table di dalam database. Dalam hal ini saya menggunakan MySQL sebagai contoh.
CREATE TABLE `penduduk` ( `NIK` varchar(50) NOT NULL, `Nama` varchar(100) DEFAULT NULL, `Alamat` varchar(255) DEFAULT NULL, PRIMARY KEY (`NIK`) ) ENGINE=InnoDB DEFAULT CHARSET=latin
Simple aja, saya membuat sebuah table “penduduk” dengan 3 field di dalamnya yakni NIK, Nama dan Alamat. Saya create table tersebut dalam sebuah database yang bernama “sampledb”.
Membuat Class Connector
Setelah table siap, silahkan buka editor favoritmu dan mulailah membuat sebuah project PHP dan buatlah sebuah file php dengan nama connector.php sbb:
<?php define("DB_ENGINE", "mysql"); define("DB_HOST", "localhost"); define("DB_PORT", "13306"); define("DB_USER", "root"); define("DB_PASSWORD", "root"); define("DB_NAME", "sampledb"); class Connector extends PDO { public function __construct () { $dns = DB_ENGINE . ":dbname=" . DB_NAME . ";host=" . DB_HOST . ";port=" . DB_PORT; parent::__construct($dns, DB_USER, DB_PASSWORD); } } ?>
Class Connector ini nantinya akan dipakai untuk membuat jalur koneksi ke database server.
Membuat Class Penduduk
Kemudian buatlah sebuah file baru dengan nama penduduk.php sbb:
<?php class Penduduk { private $nik; private $nama; private $alamat; public function __construct () {} public function setNIK ($value) { $this->nik = $value; } public function getNIK () { return $this->nik; } public function setNama ($value) { $this->nama = $value; } public function getNama () { return $this->nama; } public function setAlamat ($value) { $this->alamat = $value; } public function getAlamat () { return $this->alamat; } } ?>
Class ini digunakan sebagai model yang merupakan perwujudan dari table yang ada dalam database. Usahakan nama class nya sama dengan nama table-nya dan nama field-field nya juga sama.
Bersambung ke Bagian (2)… Membuat Class Repository & Form ..
Leave a Reply
Want to join the discussion?Feel free to contribute!