php 匿名类

<?php 
interface Logger { 
   public function log(string $msg); 


class Application { 
   private $logger; 

   public function getLogger(): Logger { 
      return $this->logger; 
   } 

   public function setLogger(Logger $logger) { 
      $this->logger = $logger; 
   }   


$app = new Application; 
// 使用 new class 创建匿名类 
$app->setLogger(new class implements Logger { 
   public function log(string $msg) { 
      print($msg); 
   } 
}); 

$app->getLogger()->log("我的第一条日志"); 
?>

以上程序执行输出结果为:

我的第一条日志
原文地址:https://www.cnblogs.com/never--more/p/7019777.html