更详细参见:PHP匿名类

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php 
interface Logger { 
   public function log(string $msg); 
 
class Application { 
   private $logger
   public function getLogger(): Logger {   // php7 可用
      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("我的第一条日志"); 
 
?>

相关文章:

  • 2021-11-28
  • 2022-01-18
  • 2021-05-05
  • 2021-09-26
  • 2021-08-29
  • 2022-12-23
  • 2021-06-10
  • 2021-07-13
猜你喜欢
  • 2021-05-15
  • 2022-12-23
  • 2021-08-30
  • 2021-07-13
  • 2021-11-16
  • 2021-06-22
  • 2021-06-20
相关资源
相似解决方案