PHP 匿名类

PHP 7 新特性


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

实例

PHP 实例
<?php 
interface Logger { 
   public function log(string $msg,NULL); 
} 
 
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,NULL); 
   } 
},NULL); 
 
$app->getLogger()->log("我的第一条日志",NULL); 
?>  

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

我的第一条日志  

PHP 7 新特性

本教程仅供参考学习,如用于商业带来的问题,本站概不负责。
关注公众号
关注公众号

©2020 IT自习室京ICP备20010815号