Devdit
 

Example cannot use Demo - it is not a trait คือ วิธีแก้ไข

0.9K

ฝึกเขียน PHP แบบ OOP ต้องการเรียกใช้ trait ชื่อ Demo ที่เขียนไว้จาก class Example แต่พอรันแล้วไม่สำเร็จขึ้นข้อความ Error ว่า Fatal error: Example cannot use Demo - it is not a trait ปัญหานี้ต้องแก้ไขอย่างไร

<?php
    class Demo {
        public function hello() {
            return "Hello World";
        }     
    }
    class Example {
        use Demo;
    }

    $objExample = new Example();
    echo $objExample->hello(); 
?>

 

วิธีแก้ไข

ปัญหาดังกล่าวเกิดจากไม่พบ trait ชื่อ Demo เพราะจากโค้ด Demo เป็น class ไม่ใช่ trait แนะนำให้เปลี่ยนจาก class Demo เป็น trait Demo เพื่อให้คำสั่ง use Demo สามารถทำงานได้ แก้ไขโค้ดได้ดังนี้

<?php
    trait Demo {
        public function hello() {
            return "Hello World";
        }     
    }
    class Example {
        use Demo;
    }

    $objExample = new Example();
    echo $objExample->hello(); 
?>

ผลลัพธ์

Hello World
แก้ไข 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ