Visibility

Access Modifier

public

Dapat digunakan dimana saja.

protected

Hanya dapat digunakan di dalam sebuah kelas beserta turunanya.

private

Hanya dapat digunakan di dalam sebuah kelas tertentu saja.

Setter & Getter (non magic method)

Method untuk ngeset dan untuk ngeget

Sebaiknya, property atau method itu tidak public. Pakailah protected atau private sesuai dengan kebutuhan apakah akan di pakai di child class apa tidak. Maka dari itu, dibutuhkan setter dan getter untuk memodifikasi datanya.

Setter dan getter ini mah bisa dibikin dengan mebuat method dengan visibility public jika ingin diakses dimana saja, atau protected jika ingin dipakai di kelas child saja. Di method ini pun bisa ditambahkan skrip untuk melakukan sesuatu dengan data tersebut (misal: validasi).

Static Keyword

Untuk ngakses property dan method pada class tanpa instansiasi, menggunakan static property dan static method.
Gunakan keyword static sebelum nama property atau method.
Untuk memanggil property atau method yang ada dalam kelas yang sama, gunakan keyword self.

class mantanStatic {
  public static $angka = 1;

  public static function helloMantan() {
    return "hello mantan yang ke- " . self::$angka;
  }
}

// memanggil static property angka
echo mantanStatic::$angka;
// memanggil static method helloMantan
echo mantanStatic::halo();

Kenapa pake static?

Untuk property dan method yang terikat dengan class, bukan object.
Nilainya akan tetap meskipun object di-instansiasi berulang kali (tidak reset).
OOP rasa procedural.
Biasanya digunakan untuk membuat fungsi bantuan / helper.
Digunakan di class-class utility pada framework.

Constant

Bahasa Indonesianya adalah konstanta.

Sebuah identifier untuk nyimpen nilai yang tidak dapat berubah.

Cara bikinnya gini:

define('NAMAKONSTANTA', 'value');

// atau

const NAMAKONSTANTA = 'value';

Jika dibikin pake define, gak bisa masuk ke class.
Kalau pake const, baru bisa masuk class.

Cara aksesnya gini, misal:

echo NAMAKONSTANTA;

Jika dalam class, ngaksesnya gini, misal:

echo NamaClass::NAMAKONSTANTA;

Magic Constant

Adalah constant yang udah disediain sama php.
Diantaranya:
__LINE__
__FILE__
__DIR__
__FUNCTION__
__NAMESPACE__
Liat di dokumentasi php aja lah kalau pengen tau itu untuk apa.


Web Programming UNPAS

OOP DASAR pada PHP #9 - Visibility
OOP DASAR pada PHP #10 - Setter dan Getter
OOP DASAR pada PHP #11 - Static Keyword
OOP DASAR pada PHP #12 - Constant