Tutorial OOP PHP Bagian 15 – Namespace
Namespace atau penentuan tempat file berada diperlukan untuk mencegah name collision, memiliki nama Class atau nama file yang sama pada satu aplikasi. Misalnya kita memiliki satu file dengan banyak Class di dalamnya : Calculator{}, Mobil{}, Toyota{}, Honda{}.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
<?php class Calculator{ protected $mobil; public function __construct(Mobil $mobil){ $this->mobil = $mobil; } public function hitungJarak(){ $bbm = $this->mobil->getBbm(); $efisiensi = $this->mobil->getEfisiensi(); $jarakMaks = $bbm * $efisiensi; return $jarakMaks; } } abstract class Mobil{ protected $merk = ''; protected $bbm = 0; public function __construct(string $merk, int $bbm){ $this->merk = $merk; $this->bbm = $bbm; } public function getMerk(){ return $this->merk; } public function getBbm(){ return $this->bbm; } abstract public function getEfisiensi(); } class Toyota extends Mobil{ protected $efisiensi = 10; public function getEfisiensi(){ return $this->efisiensi; } } class Honda extends Mobil{ protected $efisiensi = 15; public function getEfisiensi(){ return $this->efisiensi; } } $toyota = new Toyota('Toyota Fortuner',10); $calculator = new Calculator($toyota); echo "Jarak Maksimum ". $toyota->getMerk() . " adalah " . $calculator->hitungJarak() . " km. <br>"; $honda = new Honda('Honda CR-V',10); $calculator = new Calculator($honda); echo "Jarak Maksimum ". $honda->getMerk() . " adalah " . $calculator->hitungJarak() . " km. <br>"; |
Kenyataannya proyek php tidak hanya dijalankan pada satu file saja, namun terpisah-pisah agar lebih mudah dimanage. PHP Read more about Tutorial OOP PHP Bagian 15 – Namespace[…]