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