Materi inatec kelas XI 21-09-2019 Sesi 2

admin
Arief Siswanto
2019-09-21 09:03:03

pada materi sebelumnya sudah kenal dengan method public dan sekarang kita coba dengan method static. sedikit berbeda cara memanggil class tersebut seperti contoh dibawah:

<?php

namespace app\models;

class Segitiga{
    public static function hitungLuas($alas, $tinggi){
        return $alas * $tinggi / 2;
    }
}

$segitiga = \app\models\Segitiga::hitungLuas(10, 12);

var_dump($segitiga);die;

hasil dari kode diatas adalah:

int(60)

berbeda dengan dinamis cara memanggil statis dengan cara seperti contoh diatas, kita tidak dapat set property static dan kita tidak dapat memanggil property dinamic pada method static. berikut contoh penulisan kode yang salah:

<?php

namespace app\models;

class Segitiga{
    public $alas;
    public $tinggi;
    
    public static function hitungLuas(){
        return $this->alas * $this->tinggi / 2;
    }
}

$segitiga = \app\models\Segitiga::hitungLuas();
var_dump($segitiga);die;

koding diatas akan menghasilkan sintax error karena mencoba menanggil property diamis padahal method yang memanggil adalah method statis

hasil dari koding diatas adalah sebagai berikut

Fatal error: Using $this when not in object context in C:\xampp\htdocs\labs\oop\models\segitiga.php on line 10

 

No reply found.