Hướng dẫn PHP

TRANG CHỦ PHP Giới thiệu PHP Cài đặt PHP Cú pháp PHP Nhận xét PHP Các biến PHP PHP Echo / Print Các kiểu dữ liệu PHP Chuỗi PHP Số PHP Toán PHP Hằng số PHP Toán tử PHP PHP If ... Else ... Elseif Chuyển đổi PHP Vòng lặp PHP Các hàm PHP Mảng PHP PHP Superglobals PHP RegEx

Biểu mẫu PHP

Xử lý biểu mẫu PHP Xác thực biểu mẫu PHP Yêu cầu biểu mẫu PHP URL biểu mẫu PHP / E-mail Hoàn thành biểu mẫu PHP

PHP nâng cao

Ngày và giờ trong PHP Bao gồm PHP Xử lý tệp PHP Mở / Đọc tệp PHP Tạo / ghi tệp PHP Tải lên tệp PHP Cookie PHP Phiên PHP Bộ lọc PHP Bộ lọc PHP nâng cao Các chức năng gọi lại trong PHP PHP JSON Ngoại lệ PHP

PHP OOP

PHP OOP là gì Các lớp / đối tượng PHP Trình tạo PHP PHP Destructor Công cụ sửa đổi quyền truy cập PHP Kế thừa PHP Hằng số PHP Các lớp trừu tượng trong PHP Giao diện PHP Đặc điểm PHP Phương thức tĩnh trong PHP Thuộc tính tĩnh của PHP Không gian tên PHP Lặp lại PHP

Cơ sở dữ liệu MySQL

Cơ sở dữ liệu MySQL MySQL Connect MySQL Tạo cơ sở dữ liệu MySQL Tạo bảng MySQL Chèn dữ liệu MySQL Nhận ID cuối cùng MySQL Chèn Nhiều MySQL được chuẩn bị Dữ liệu chọn MySQL MySQL ở đâu MySQL Đặt hàng bởi MySQL Xóa dữ liệu Dữ liệu cập nhật MySQL Dữ liệu giới hạn MySQL

PHP XML

Trình phân tích cú pháp XML PHP Trình phân tích cú pháp PHP SimpleXML PHP SimpleXML - Nhận PHP XML Expat DOM XML PHP

PHP - AJAX

Giới thiệu về AJAX AJAX PHP Cơ sở dữ liệu AJAX AJAX XML Tìm kiếm trực tiếp AJAX Cuộc thăm dò ý kiến ​​của AJAX

Ví dụ về PHP

Ví dụ về PHP Trình biên dịch PHP PHP Quiz Bài tập PHP Chứng chỉ PHP

Tham chiếu PHP

Tổng quan về PHP Mảng PHP Lịch PHP Ngày PHP Thư mục PHP Lỗi PHP Ngoại lệ PHP Hệ thống tập tin PHP Bộ lọc PHP FTP PHP PHP JSON Từ khóa PHP PHP Libxml Thư PHP Toán PHP PHP Misc PHP MySQLi Mạng PHP Kiểm soát đầu ra PHP PHP RegEx PHP SimpleXML Luồng PHP Chuỗi PHP Xử lý biến PHP Trình phân tích cú pháp XML PHP PHP Zip Múi giờ PHP

PHP OOP - Giao diện


PHP - Giao diện là gì?

Các giao diện cho phép bạn chỉ định các phương thức mà một lớp sẽ triển khai.

Các giao diện giúp bạn dễ dàng sử dụng nhiều lớp khác nhau theo cùng một cách. Khi một hoặc nhiều lớp sử dụng cùng một giao diện, nó được gọi là "đa hình".

Các giao diện được khai báo với interfacetừ khóa:

Cú pháp

<?php
interface InterfaceName {
  public function someMethod1();
  public function someMethod2($name, $color);
  public function someMethod3() : string;
}
?>

PHP - Giao diện so với Lớp trừu tượng

Giao diện tương tự như các lớp trừu tượng. Sự khác biệt giữa các giao diện và các lớp trừu tượng là:

  • Các giao diện không thể có thuộc tính, trong khi các lớp trừu tượng có thể
  • Tất cả các phương thức giao diện phải là công khai, trong khi các phương thức lớp trừu tượng là công khai hoặc được bảo vệ
  • Tất cả các phương thức trong một giao diện là trừu tượng, vì vậy chúng không thể được triển khai trong mã và từ khóa trừu tượng là không cần thiết
  • Các lớp có thể triển khai một giao diện đồng thời kế thừa từ một lớp khác

PHP - Sử dụng giao diện

Để triển khai một giao diện, một lớp phải sử dụng implementstừ khóa.

Một lớp triển khai một giao diện phải triển khai tất cả các phương thức của giao diện.

Thí dụ

<?php
interface Animal {
  public function makeSound();
}

class Cat implements Animal {
  public function makeSound() {
    echo "Meow";
  }
}

$animal = new Cat();
$animal->makeSound();
?>

Từ ví dụ trên, giả sử rằng chúng tôi muốn viết phần mềm quản lý một nhóm động vật. Có những hành động mà tất cả các loài động vật có thể làm, nhưng mỗi loài động vật làm theo cách riêng của mình.

Sử dụng các giao diện, chúng ta có thể viết một số mã có thể hoạt động cho tất cả các loài động vật ngay cả khi mỗi con vật cư xử khác nhau:

Thí dụ

<?php
// Interface definition
interface Animal {
  public function makeSound();
}

// Class definitions
class Cat implements Animal {
  public function makeSound() {
    echo " Meow ";
  }
}

class Dog implements Animal {
  public function makeSound() {
    echo " Bark ";
  }
}

class Mouse implements Animal {
  public function makeSound() {
    echo " Squeak ";
  }
}

// Create a list of animals
$cat = new Cat();
$dog = new Dog();
$mouse = new Mouse();
$animals = array($cat, $dog, $mouse);

// Tell the animals to make a sound
foreach($animals as $animal) {
  $animal->makeSound();
}
?>

Giải thích ví dụ

Cat, Dog và Mouse là tất cả các lớp triển khai giao diện Động vật, có nghĩa là tất cả chúng đều có thể tạo ra âm thanh bằng cách sử dụng makeSound()phương thức này. Do đó, chúng ta có thể lặp lại tất cả các loài động vật và bảo chúng phát ra âm thanh ngay cả khi chúng ta không biết từng loại động vật đó là gì.

Vì giao diện không cho các lớp biết cách triển khai phương thức, nên mỗi con vật có thể phát ra âm thanh theo cách riêng của nó.