Tutorial PHP: OOP

Assalamualaikum Semua






      Hallo semua selamat datang kembali. Saya Muhammad Aslam atau panggil saja Mas Lam akan berbagi pengetahuan tentang PHP langsung saja tanpa banyak basa basi lagi yu urang belajar PHP.

      Basic Class pada PHP

Definisi class dasar (basic class) dimulai dengan kata kunci class,
diikuti oleh nama class, kemudian diikuti oleh sepasang kurung
kurawal yang melampirkan definisi properties dan method milik class
tersebut.

Kata apapun bisa dijadikan nama class kecuali nama / kata yang

sudah menjadi kata kunci pada PHP
class dapat berisi class nya sendiri, (yaitu "propertieses"), & fungsi
(yaitu "methods"). constants, variables

Untuk membuat instance class, kata kunci baru harus digunakan. Objek

akan selalu dibuat kecuali objek memiliki konstruktor yang ditentukan
untuk melempar exception pada error. Class harus didefinisikan sebelum
instantiasi (dan dalam beberapa kasus ini adalah persyaratan).

Jika string yang berisi nama class digunakan dengan kata kunci “new”,

instance baru dari class tersebut akan dibuat. Jika class ada di namespace,

nama class secara keseluruhan harus digunakan agar memenuhi syarat 

Dalam konteks class, kita dapat membuat objek baru dengan objek

atau parent baru

Saat menetapkan instance class yang sudah dibuat ke variabel baru,

variabel baru akan mengakses instance yang sama dengan objek yang
ditugaskan. Hal ini sama ketika menyampaikan instance ke suatu
fungsi. Salinan objek yang sudah dibuat dapat dipakai dengan
mengkloningnya..

Class propertieses dan method berada dalam “namespace" yang terpisah,

sehingga dimungkinkan untuk memiliki propertieses dan method dengan nama
yang sama. Mengacu pada propertieses dan method memiliki notasi yang sama,

Kemudian apakah propertieses akan diakses atau method akan dipanggil,

semata-mata tergantung pada konteksnya, yaitu apakah penggunaannya sebagai

akses variabel atau pemanggilan fungsi.

Kita coba untuk membuat sebuah class

pertama buat project baru di htdocs dengan nama OOP-PHP
lalu buat file baru bernama Manusia.php (nama class harus diawali huruf besar) dengan atribut nama , jenis_kelamin, dan tanggal lahir dan method bersuara buat juga file KelompokMakan.php dan HewanPeliharaan.php
dan juga buat file baru bernama index.php

untuk codingan file Manusia.php adalah sebagai berikut


<?php
include 'KelompokMakanan.php';
class Manusia extends KelompokMakan{

public $jenis_kelamin;
public $nama;
public $tanggal_lahir;

public function bersuara(){
return $this->nama;
}

public function usia(){
$date = date_create_from_format("d/m/Y", $this->tanggal_lahir);
$tahunlahir = $date->format('Y');
$tahunsekarang = date('Y');
$usia = $tahunsekarang - $tahunlahir;
return $usia;
}
}

?>

include disini untuk menginclude class lain
exxtends adalah cara penulisan agar class manusia memiliki parent class kelompokmakan yang ada di file KelompokMakan.php karena disini membuat pewarisan antar file maka diatas class harus menginclude file KelompokMakan.php

public $jenis_kelamin adalah cara menuliskan variable nya di php variable tidak perlu menuliskan tipe data

$this-> fungsinya untuk memanggil atau memakai variable yang ada di luar methode

public function bersuara(){} adalah metode dengan nama metode bersuara

codingan file index.php

<?php

include 'Manusia.php';
include 'HewanPeliharaan.php';

$aslam = new Manusia();
$Hewan = new HewanPeliharaan();

$aslam->nama ='Muhammad Aslam Setiawan Riziq ';
$aslam->jenis_kelamin ='laki-laki ';
$aslam->tanggal_lahir ='31/08/2003';
$aslam->makanan ='Daging ';


echo $aslam->bersuara();
echo $aslam->usia();
echo $aslam->jenis();
echo $Hewan->bersuara();
echo $Hewan->jenis();
?>

$inisial = new namaclass(); adalah cara untuk memanggil sebuah class
$inisial->namavariable = 'isi variable' adalah cara untuk mengisi sebuah variable dalam sebuah class
echo $inisial->namamethod() adalah cara untuk memanggil method yang berada dalam sebuah class

codingan KelompokMakan.php
<?php

class KelompokMakan{
public $makanan;
public function jenis(){
$makanan = $this->makanan;
switch ($makanan) {
case 'Capacai':
return 'Omnivora';
break;
case 'Daging':
return 'Karnivora';
break;
case 'Rumput':
return 'Herbivora';
break;
}
}
}

?>

codingan HewanPeliharaan.php

<?php

class HewanPeliharaan{
public $jenis;
public $nama;
public $bersuara;

public function __construct(){
echo "Ini Adalah Pemilik Ku <br>";
$this->nama ='Kucing';
$this->bersuara =' Meow';
$this->jenis =' Omnivora';
}


public function bersuara(){
$nama = $this->nama;
echo "<br> Aku ";
echo $nama;
switch ($nama) {
case 'Kucing': return $this->bersuara ;
case 'Kambing': return  $this->bersuara ;
case 'Kelinci': return  $this->bersuara ;
}
}
public function jenis(){
echo " Aku ";
return $this->jenis;
}

}

?>

di atas terdapat __construct() dengan ini isi function akan terlebih dahulu di jalankan saat memanggil class tersebut

Hasilnya adalah sebagai berikut

Comments