ฝึกเขียน OOP ภาษา PHP ต้องการเรียกใช้ฟังก์ชันภายใน class ที่สร้างขึ้นมาแต่พอรันแล้วขึ้นข้อความว่า Fatal error: Uncaught Error: Non-static method Example::hi() cannot be called statically ปัญหานี้ต้องแก้ไขอย่างไร โค้ดตามด้านล่าง
<?php
class Example {
public function hi() {
return "Hello World";
}
}
echo Example::hi();
?>
วิธีแก้ไข
การเรียกใช้ฟังก์ชันด้วย :: คือการเรียกใช้ฟังก์ชันที่เป็นแบบ static แต่ฟังก์ชัน hi ไม่ใช่ static จึงทำให้เกิด Error ดังกล่าวเกิดขึ้น แนะนำให้เพิ่ม keyword static หน้า function hi สามารถแก้ไขโค้ดได้ดังนี้
<?php
class Example {
public static function hi() {
return "Hello World";
}
}
echo Example::hi();
?>
ผลลัพธ์
Hello World