PHP OOP - คุณสมบัติคงที่
PHP - คุณสมบัติคงที่
คุณสมบัติสแตติกสามารถเรียกได้โดยตรง - โดยไม่ต้องสร้างอินสแตนซ์ของคลาส
คุณสมบัติคงที่ถูกประกาศด้วยstatic
คำสำคัญ:
ไวยากรณ์
<?php
class ClassName {
public static $staticProp = "W3Schools";
}
?>
ในการเข้าถึงคุณสมบัติสแตติก ให้ใช้ชื่อคลาส ทวิภาคคู่ (::) และชื่อคุณสมบัติ:
ไวยากรณ์
ClassName::$staticProp;
ลองดูตัวอย่าง:
ตัวอย่าง
<?php
class
pi {
public static $value = 3.14159;
}
// Get static property
echo pi::$value;
?>
ตัวอย่างที่อธิบาย
ในที่นี้ เราประกาศคุณสมบัติคงที่: $value จากนั้น เราสะท้อนค่าของคุณสมบัติสแตติกโดยใช้ชื่อคลาส ทวิภาคคู่ (::) และชื่อคุณสมบัติ (โดยไม่สร้างคลาสก่อน)
PHP - เพิ่มเติมเกี่ยวกับคุณสมบัติคงที่
คลาสสามารถมีคุณสมบัติทั้งแบบสแตติกและแบบไม่คงที่ คุณสมบัติสแตติกสามารถเข้าถึงได้จากเมธอดในคลาสเดียวกันโดยใช้self
คีย์เวิร์ดและโคลอนคู่ (::):
ตัวอย่าง
<?php
class
pi {
public static $value=3.14159;
public function
staticValue() {
return self::$value;
}
}
$pi = new pi();
echo $pi->staticValue();
?>
หากต้องการเรียกคุณสมบัติสแตติกจากคลาสย่อย ให้ใช้parent
คีย์เวิร์ดภายในคลาสย่อย:
ตัวอย่าง
<?php
class
pi {
public static $value=3.14159;
}
class x extends pi {
public function xStatic() {
return
parent::$value;
}
}
// Get value of static property
directly via child class
echo x::$value;
// or get value of static property via xStatic()
method
$x = new x();
echo $x->xStatic();
?>