คีย์เวิร์ด interface

คำสำคัญ interface ใช้สำหรับสร้างอินเทอร์เฟซ - โครงสร้างพิเศษที่กำหนดว่าเมธอดใดที่คลาสต้องนำมาใช้อินเทอร์เฟซมีเฉพาะการประกาศเมธอดโดยไม่มีการนำไปใช้จริง คลาสที่ใช้อินเทอร์เฟซต้องมีเมธอดทั้งหมดที่ประกาศไว้ในอินเทอร์เฟซ

ไวยากรณ์

phpinterface InterfaceName {
  public function method1();
  public function method2($param);
  // ...
}

ตัวอย่าง

มาสร้างอินเทอร์เฟซและคลาสที่ใช้งานมันอย่างง่าย:

php<?php
  interface Logger {
    public function log($message);
  }

  class FileLogger implements Logger {
    public function log($message) {
      echo "กำลังบันทึกไปยังไฟล์: " . $message;
    }
  }

  $logger = new FileLogger();
  $logger->log("ข้อความทดสอบ");
?>

ผลลัพธ์การทำงานของโค้ด:

php'กำลังบันทึกไปยังไฟล์: ข้อความทดสอบ'

ตัวอย่าง

อินเทอร์เฟซสามารถมีหลายเมธอดได้ และคลาสต้องนำเมธอดทั้งหมดนั้นมาใช้:

php<?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();
?>

ผลลัพธ์การทำงานของโค้ด:

php'พื้นที่: 78.5'

ดูเพิ่มเติม

  • คำสั่ง class,
    สำหรับประกาศคลาส
  • คำสั่ง trait,
    สำหรับประกาศเทรท