Phương thức trừu tượng của trait trong OOP PHP

Trong trait, một số phương thức có thể được khai báo là trừu tượng. Trong trường hợp này, lớp sử dụng trait này sẽ bắt buộc phải triển khai phương thức như vậy. Các phương thức trừu tượng của trait không thể là private.

Hãy xem xét một ví dụ. Giả sử chúng ta có trait như sau:

TestTrait.php<?php
  trait TestTrait
  {
    public function method1()
    {
      return 1;
    }
    
    abstract public function method2();
  }
?>

Giả sử trait của chúng ta được sử dụng bởi lớp Test. Việc có một phương thức trừu tượng trong trait sẽ bắt buộc lập trình viên phải triển khai nó trong lớp, nếu không sẽ xảy ra lỗi PHP.

Hãy tạo lớp Test cùng với phương thức method2:

Test.php<?php
  class Test
  {
    use TestTrait; // sử dụng trait
    
    // Triển khai phương thức trừu tượng:
    public function method2()
    {
      return 2;
    }
  }
  
  new Test;
?>
Задание 1

Hãy sao chép mã trait TestTrait của tôi và mã lớp Test của tôi. Xóa khỏi lớp phương thức method2. Hãy đảm bảo rằng việc thiếu triển khai của nó sẽ dẫn đến lỗi PHP.