สำหรับสิ่งนี้ ให้ใช้ $anyObjectName=new static() ร่วมกับตนเอง
ตัวอย่าง
รหัส PHP มีดังต่อไปนี้
<!DOCTYPE html>
<html>
<body>
<?php
abstract class Base{
protected static $fullName = '';
abstract protected function customFunction();
public static function get_obj($param1 = null, $param2 = null){
$obj = new static();
$obj->customFunction();
}
public static function getFullName(){
return static::$fullName;
}
}
class Child extends Base {
protected static $fullName = 'John Doe';
protected function customFunction(){
echo self::getFullName() . "<br>";
echo $this;
}
}
Child::get_obj();
?>
</body>
</html> ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
John Doe