Computer >> Máy Tính >  >> Lập trình >> PHP

Các lớp ẩn danh trong PHP 7?

Các lớp ẩn danh trong PHP 7 có thể được định nghĩa bằng cách sử dụng lớp mới. Nó cũng có thể được sử dụng thay cho định nghĩa lớp đầy đủ. Tại sao lại sử dụng các lớp ẩn danh?

  • Thử nghiệm chế giễu thật dễ dàng.
  • Việc triển khai động cho các giao diện có thể được tạo dễ dàng, do đó tránh sử dụng các API phức tạp.
  • Chúng có thể được đặt trong phạm vi mà chúng đã được xác định.

  • Có thể tránh được việc sử dụng trình tải tự động để triển khai đơn giản.

Ví dụ

Dưới đây là mẫu mã -

<?php
interface a_logger {
   public function log(string $msg);
}
class App {
   private $logger;
   public function getLogger(): a_logger {
      return $this->logger;
   }
   public function setLogger(a_logger $logger) {
      $this->logger = $logger;
   }
}
$app = new App;
$app->setLogger(new class implements a_logger {
   public function log(string $msg) {
      print($msg);
   }
});
$app->getLogger()->log("This has created an anonymous class");
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

This has created an anonymous class