Tutorial PHP : Membuat Class dalam PHP

Halo sahabat belajar pintar php, pada kesempatan ini, kita akan membahas bagaimana membuatclass dalam PHP. Dalam kasus ini kita akan membahas :

1. Penjelasan  mengenai objek atau kelas.
2. Contoh dalam pemakaian sehari-hari.
3. Penerapan sederhana bagaimana mendeklarasikan kelas dan memakainya.
4. Contoh yang lebih serius untuk aplikasi konektivitas ke database.

Oke tanpa banyak basa-basi, langsung saja ke TKP --->>>

1. Pengantar Class PHP

Class adalah sekumpulan variabel/property dan fungsi/method yang mengolah variabel-variabel ini. Class sering disebut juga sebagai objek. Dengan menggunakan objek proses pembuatan program menjadi lebih cepat, karena objek-objek yang sudah ada dapat dipakai untuk membuat objek yang lain.

2. Cara membuat objek

Objek dapat didefinisikan dengan sintaksis berikut,

class namaobjek {

var $property;

function method($arg) {

//definisi method;

}

}

sintaks php di atas mendefinisikan sebuah objek yang bernama namaobjek dengan satu property $property dan satu method yaitu method().

3. Contoh sederhana Penggunaan Class dalam PHP

Sebagai contoh nyata., kita akan bicarakan sebuah kendaraan favorit saya " motor" . Sebagai sebuah objek tentu saja motor mempunyai sifat yang dimilikinya. Bisa jadi sifat ini dimiliki juga oleh benda/objek lain, tapi disini saya membicarakan sepeda.
Motor saya ini berwarna hitam, tentu saja hanya mempunyai 2 roda. Ketika saya beli harganya hanya 10 juta rupiah. Karena nilai tukar mata uang rupiah semakin menurun saja, tentu saja kalau saya jual harganya sudah tidak sebesar itu lagi. Saya tidak tahu harga jualnya lebih rendah atau lebih tinggi.
Dalam PHP saya dapat mendefinisikan objek motor ini seperti berikut, filenya saya beri nama kendaraan.class.php.

<?php
class motor {
var $Roda="2";
var $Warna="hitam";
var $Harga;  
function UbahWarna($WarnaBaru) {
$this->Warna=$WarnaBaru;
}
function UbahHarga($HargaBaru)
{
$this->Harga=$HargaBaru;
}
}
?>


Berikut sedikit penjelasan tentang kode diatas, 
• nama kelas : motor
• jumlah property ada 3 yaitu, Roda, Warna, dan Harga
• terdapat 2 method yaitu, UbahWarna dan UbahHarga 

Ada dua property yang diberikan nilai awal langsung dalam kelas, sebagai harga default, dan satu property yang tidak. Jadi anda dapat mendeklarasikan property seperti ini.
Kelas adalah sebuah type data seperti layaknya jenis data yang lain misalnya integer atau karakter, jadi deklarasi ini hanya memberitahu PHP bahwa ada satu jenis data lagi yang bernama motor. Jadi agar kita dapat memakai kelas ini kita harus membuat variabel dengan jenis data motor. Perhatikan contoh pemakaian objek sepeda pada file coba.class.php berikut,

<?php
include("kendaraan.class.php");
echo "<p>Motor saya";
$kendaraan = new motor;
echo "<p>Jumlah Roda: ".$kendaraan->Roda."<br>";
echo "Warna: ".$kendaraan->Warna."<br>";
echo "<p>Setelah perintah \"\$kendaraan->UbahWarna(\"merah\")\"<br>";
$kendaraan->UbahWarna("merah");
echo "Warna: ".$kendaraan->Warna."<br>";
?>

include("kendaraan.class.php")
digunakan untuk memuat file yang berisi deklarasi kelas motor. Kemudian baris ke 3 adalah cara pembuatan objek dengan jenis kelas motor dengan perintah new. Jika anda load file ini dalam browser anda, tampilannya tampak seperti dibawah ini :
membuat class php




















Untuk memanggil property dalam objek dengan menyebutkan terlebih dahulu objek-nya kemudian baru property-nya. Keduanya dipisahkan tanda panah ke kanan (->), perhatikan cara mengakses property pada baris,
echo "Warna: ".$kendaraan->Warna."<br>";
Demikian juga untuk memanggil method dalam objek tidak banyak berbeda dengan property,
$kendaraan->UbahWarna("merah");
Yang membedakannya adalah tanda kurung di akhir di akhir.

4. Contoh yang lebih Rumit dan Serius

Contoh dalam pemrograman PHP adalah kelas untuk akses ke database MySQL. Perhatikan definisi kelas berikut ini,

<?php
class DB {
var $Connection;
var $DBHost="localhost";
var $DBUser="root";
var $DBPass="";
var $DBName;
var $DBRecSet;
// Constructor for this class
function DB ($db_host, $db_user, $db_pass, $db_name) {
$this->DBHost = $db_host;
$this->DBUser = $db_user;
$this->DBPass = $db_pass;
$this->DBName = $db_name;
if (!$this->Open())
{
echo "Error occure on openning connection or database. Period."
}
// Open database server connection
function Open () {
if (!($ServerConn = @mysql_pconnect($this->DBHost, $this->DBUser, $this->DBPass)))
{
return 0;
}
else
{
if (!($this->Connection = @mysql_select_db($this->DBName, $ServerConn)))
{
return 0;
}
else
{
return 1;
}
}
function Query ($sql) {
if (empty($sql))
{
echo "No SQL command given. Period.";
}
if ($this->DBRecSet=@mysql_query(addslashes($sql)))
{
return $this->DBRecSet;
}
else
{
return 0;
}
}
?>

Dari contoh tersebut tampak bahwa kelas adalah sekumpulan variabel dan fungsi biasa yang mewakili suatu objek tertentu, dalam hal ini konektivitas ke database MySQL.

Catatan :
Yang harus diperhatikan dari contoh ini adalah adanya fungsi yang mempunyai nama yang sama dengan nama kelasnya. Fungsi ini akan selalu dipanggil ketika pertama kali kita menciptakan sebuah variabel berjenis data kelas dengan perintah new. Fungsi seperti ini sering disebut dengan constructor. 


Kata kunci yang lain yang perlu diperhatikan disini adalah $this. Kata kunci ini dipakai untuk merujuk property/method yang berada dalam kelas itu sendiri. Perhatikan baris,
$this->DBHost = $db_host;

pada method DB(). Method ini memakai property $DBost dalam kelas dimana method DB() itu sendiri berada.

Sekian dulu teman-teman sekalian ,,
selamat mencoba bagi para calon programer dunia ,,
Lebih baru Lebih lama