Arief Siswanto
2019-09-21 09:14:11penjelasan konsep OOP object interface. Object Interface (jenis class ayah) adalah template untuk class dimana semua method di dalamnya harus diimplementasikan ulang oleh class yang memakainya ( class anak).
contoh object interface
<?php // Declare the interface 'iTemplate' interface iTemplate { public function setVariable($name, $var); public function getHtml($template); }
dan ini class anak yang benar
<?php class Template implements iTemplate { private $vars = array(); public function setVariable($name, $var) { $this->vars[$name] = $var; } public function getHtml($template) { foreach($this->vars as $name => $value) { $template = str_replace('{' . $name . '}', $value, $template); } return $template; } }
dan ini class anak yang salah karena dibutuhkan 1 method lagi yaito getHtml
<?php // Fatal error: Class BadTemplate contains 1 abstract methods // dan karenanya harus dinyatakan abstrak (iTemplate :: getHtml) class BadTemplate implements iTemplate { private $vars = array(); public function setVariable($name, $var) { $this->vars[$name] = $var; } }
Showing 1-5 of 5 items.
Arief Siswanto
2019-09-21 09:22:06getHtml() yang di class apa?
Adev Saputra
2019-09-21 09:28:30Class template
Arief Siswanto
2019-09-21 09:32:41pada class template harus ada method getHtml() karena class iTemplate mengharuskannya ada. kita bahas sedikit:
public function getHtml($template) { foreach($this->vars as $name => $value) { $template = str_replace('{' . $name . '}', $value, $template); } return $template; }
- $this->vars adalah mengambil variable vars yang bentuknya array (dalam kondisi ini belum di set kalian bisa set menggunakan contoh array)
- foreach($this->vars as $name => $value) sudah dibahas dipertemuan inatec sebelumnya dipecah variable vars menjadi key dan value dimana $name adalah key dan $value adalah value.
- $template = str_replace('{' . $name . '}', $value, $template); hanya contoh penerapannya. tidak ada yg bisa dijelaskan dari koding ini
Adev Saputra
2019-09-21 09:41:01Oke solved
Adev Saputra
2019-09-21 09:20:46Penjelasan yg public function gethtml() bang