ฝึกเขียนภาษา PHP แบบ OOP แต่รันแล้วขึ้น Error ว่า Fatal error: Uncaught Error: Call to private method Hello::welcome() from global scope ไม่เข้าใจว่าปัญหาคืออะไร โค้ดบางส่วนตามด้านล่าง
<?php
class Hello {
private function welcome() {
return "Hello World";
}
}
$objHello = new Hello();
echo $objHello->welcome();
?>
วิธีแก้ไข
ปัญหานี้เกิดจากฟังก์ชัน welcome กำหนดระดับการเข้าถึงเป็น private ซึ่ง private สามารถเข้าถึงได้เฉพาะภายใน class เท่านั้น หากต้องการเรียกใช้นอก class ให้เปลี่ยน private เป็น public สามารถแก้ไขโค้ดได้ดังนี้
<?php
class Hello {
public function welcome() {
return "Hello World";
}
}
$objHello = new Hello();
echo $objHello->welcome();
?>
ผลลัพธ์
Hello World