Skip to content

Instantly share code, notes, and snippets.

@krisanalfa
Created January 15, 2014 13:54
Show Gist options
  • Save krisanalfa/8436645 to your computer and use it in GitHub Desktop.
Save krisanalfa/8436645 to your computer and use it in GitHub Desktop.
Simple PHP with funny story (=
<?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