Devdit
 

Non-static method cannot be called statically คือ วิธีแก้ไข

1.7K

ฝึกเขียน 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
แก้ไข 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ