Belajar PHP OOP Part 1.5 : Self Keyword

self keyword

Properties vs Constant

  • Saat kita membuat object, properties yang terdapat di class akan secara otomatis dibuat per object, oleh karena itu untuk mengakses properties, kita perlu menggunakan object, atau jika dari dalam object tersebut sendiri, kita perlu menggunakan kata kunci this
  • Sedangkan berbeda dengan constant, constant di class tidak akan dibuat per object. Constant itu hidupnya di class, bukan di object, oleh karena itu untuk mengaksesnya kita perlu menggunakan NamaClass::Nama_Constant
  • Secara sederhana, properties akan dibuat satu per instance (object), sedangkan constant dibuat per class

Self Keyword

  • Jika di dalam class (misal di function) kita ingin mengakses constant, kita perlu mengakses NamaClass::NamaConstant
  • Namun jika di dalam class yang sama, kita bisa menggunakan kata kunci self untuk mempermudah

{
const AUTHOR = "Programmer Zaman Now";

var ?string $name;
var ?string $address = null;
var string $country = "Indonesia";

function sayHello (?string $name)
{
if (is_null($name)) {
echo "Hi, my name is {$this->name}" . PHP_EOL;
} else {
echo "Hello $name, my name is $this->name" . PHP_EOL;
}
}

//memanggil constant di function
function info()
{
echo "AUTHOR : " . self::AUTHOR . PHP_EOL;
}
}
<?php

require_once "data/Person.php";

$eko = new Person();
$eko->name = "Eko";
$eko->sayHello("Budi");

$joko = new Person();
$joko->name = "Joko";
$joko->sayHello(null);

//memanggil function yang berisi constan, di class sama
$eko->info();
$joko->info();

self keyword

Next Post Previous Post
No Comment
Add Comment
comment url