Created
January 15, 2014 13:54
-
-
Save krisanalfa/8436645 to your computer and use it in GitHub Desktop.
Simple PHP with funny story (=
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
class Binatang { | |
protected $name = 'something'; | |
protected $suara = 'nothing'; | |
public function __construct($name) { | |
$this->name = $name; | |
} | |
public function bunyi() { | |
return $this->name . ' says: ' . $this->suara; | |
} | |
public function set($attribute, $value) { | |
$this->$attribute = $value; | |
} | |
public function get($attribute) { | |
return $this->$attribute; | |
} | |
public function kawinSama(Binatang $anotherBinatang) { | |
$namaAnak = $this->get('name') . $anotherBinatang->get('name'); | |
var_dump($this->get('name') . ' kawin sama ' . $anotherBinatang->get('name')); | |
var_dump('Perkawinan ini menghasilkan Binatang baru bernama ' . $namaAnak); | |
$this->anak = new Binatang($namaAnak); | |
$anotherBinatang->anak = $this->anak; | |
} | |
public function ceraiAjaSama(Binatang $anotherBinatang) { | |
var_dump($this->get('name') . ' cerai sama ' . $anotherBinatang->get('name')); | |
$namaAnak = $anotherBinatang->anak->get('name'); | |
var_dump($namaAnak . ' jadi terbengkalai, dia memisahkan diri dari bapak / ibunya.'); | |
unset($this->anak); | |
unset($anotherBinatang->anak); | |
$GLOBALS[$namaAnak] = new Binatang($namaAnak); | |
var_dump($namaAnak . ' tidak mau menggunakan suara aslinya, dia belajar suara baru. Dengarkan...'); | |
$GLOBALS[$namaAnak]->set('suara', 'Anuuu anuuu!!!'); | |
var_dump($GLOBALS[$namaAnak]->bunyi()); | |
} | |
} | |
class Guguk extends Binatang { | |
public function __construct() { | |
parent::__construct('Guguk'); | |
$this->set('suara', 'Wooof wooof!!!'); | |
} | |
// Kemampuan khusus | |
public function angkatAnak($anak) { | |
var_dump($this->get('name') . ' mengangkat ' . $anak->get('name')); | |
var_dump($anak->get('name') . ' sekarang tinggal bersama ' . $this->get('name')); | |
$this->anak = $anak; | |
unset($GLOBALS[$anak->get('name')]); | |
} | |
} | |
var_dump('Di suatu hari di Kampung Sasak.'); | |
$mbe = new Binatang('Kambing'); | |
$mbe->set('suara', 'Mbeee!!!'); | |
var_dump($mbe->bunyi()); | |
$kucing = new Binatang('Kucing'); | |
$kucing->set('suara', 'Meooong!!!'); | |
var_dump($kucing->bunyi()); | |
$mbe->kawinSama($kucing); | |
$mbe->anak->set('suara', 'Kraus kraus!!!'); | |
var_dump($mbe->anak->bunyi()); | |
$mbe->ceraiAjaSama($kucing); | |
var_dump('Ini variable baru hasil dari perceraian: ' , $KambingKucing); | |
$guguk = new Guguk(); | |
var_dump($guguk->bunyi()); | |
$guguk->angkatAnak($KambingKucing); | |
var_dump($guguk->get('name') . ' mengajarkan anaknya sesuatu'); | |
$guguk->anak->set('suara', 'Wuuuf fuuuw!!!'); | |
var_dump('Anak ' . $guguk->get('name') . ' sekarang bersuara berbeda, dengarkan...'); | |
var_dump($guguk->anak->bunyi()); | |
var_dump('Tamat'); | |
?> | |
<!doctype html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<title>Ooop</title> | |
<link rel="icon" href="/favicon.png" type="image/png" /> | |
</head> | |
<body> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment