คีย์เวิร์ด interface
คำสำคัญ interface ใช้สำหรับสร้างอินเทอร์เฟซ - โครงสร้างพิเศษที่กำหนดว่าเมธอดใดที่คลาสต้องนำมาใช้อินเทอร์เฟซมีเฉพาะการประกาศเมธอดโดยไม่มีการนำไปใช้จริง คลาสที่ใช้อินเทอร์เฟซต้องมีเมธอดทั้งหมดที่ประกาศไว้ในอินเทอร์เฟซ
ไวยากรณ์
interface InterfaceName {
public function method1();
public function method2($param);
// ...
}
ตัวอย่าง
มาสร้างอินเทอร์เฟซและคลาสที่ใช้งานมันอย่างง่าย:
<?php
interface Logger {
public function log($message);
}
class FileLogger implements Logger {
public function log($message) {
echo "กำลังบันทึกไปยังไฟล์: " . $message;
}
}
$logger = new FileLogger();
$logger->log("ข้อความทดสอบ");
?>
ผลลัพธ์การทำงานของโค้ด:
'กำลังบันทึกไปยังไฟล์: ข้อความทดสอบ'
ตัวอย่าง
อินเทอร์เฟซสามารถมีหลายเมธอดได้ และคลาสต้องนำเมธอดทั้งหมดนั้นมาใช้:
<?php
interface Shape {
public function calculateArea();
public function calculatePerimeter();
}
class Circle implements Shape {
private $radius;
public function __construct($radius) {
$this->radius = $radius;
}
public function calculateArea() {
return 3.14 * $this->radius * $this->radius;
}
public function calculatePerimeter() {
return 2 * 3.14 * $this->radius;
}
}
$circle = new Circle(5);
echo "พื้นที่: " . $circle->calculateArea();
?>
ผลลัพธ์การทำงานของโค้ด:
'พื้นที่: 78.5'