Interfaces ในภาษา PHP เป็นโครงสร้างที่ใช้กำหนดสัญญา (contract) ของคลาส (Class)
ประโยชน์ของ Interfaces:
- ช่วยให้โค้ดมี modularity
- ช่วยให้โค้ดมี reusability
- ช่วยให้โค้ดมี decoupling
- ช่วยให้โค้ดมี testability
การใช้ Interfaces:
- กำหนด interface โดยใช้คำสงวน
interface
- กำหนด method โดยไม่ต้องมี implementation
- คลาสที่ implement interface ต้องมี method ทั้งหมดที่ interface กำหนด
ตัวอย่าง:
PHP
interface Animal {
public function makeSound();
}
class Dog implements Animal {
public function makeSound() {
echo "Woof!";
}
}
class Cat implements Animal {
public function makeSound() {
echo "Meow!";
}
}
$dog = new Dog();
$dog->makeSound(); // แสดง: Woof!
$cat = new Cat();
$cat->makeSound(); // แสดง: Meow!
ข้อควรระวัง:
- Interfaces ไม่สามารถมี property
- Interfaces ไม่สามารถมี implementation ของ method
แหล่งข้อมูล:
- W3Schools: https://www.w3schools.com/php/php_oop_interfaces.asp
- PHP.net: https://www.php.net/manual/en/language.oop5.php