Materi inatec kelas XI 21-09-2019 Sesi 3

admin
Arief Siswanto
2019-09-21 09:14:11

penjelasan 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.
adev22
Adev Saputra
2019-09-21 09:20:46

Penjelasan yg public function gethtml() bang

admin
Arief Siswanto
2019-09-21 09:22:06

getHtml() yang di class apa?

adev22
Adev Saputra
2019-09-21 09:28:30

Class template

admin
Arief Siswanto
2019-09-21 09:32:41

pada 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;
}
  1. $this->vars adalah mengambil variable vars yang bentuknya array (dalam kondisi ini belum di set kalian bisa set menggunakan contoh array)
  2. 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.
  3. $template = str_replace('{' . $name . '}', $value, $template); hanya contoh penerapannya. tidak ada yg bisa dijelaskan dari koding ini
adev22
Adev Saputra
2019-09-21 09:41:01

Oke solved