PHP 匿名类

PHP 7 新特性 PHP 7 新特性

PHP 7 支持通过 new class 来实例化一个匿名类,这可以用来替代一些"用后即焚"的完整类定义。

实例

实例
   <?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("我的第一条日志"); ?>  
 

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

我的第一条日志

PHP 7 新特性 PHP 7 新特性