PHP匿名类
更详细参见: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( "我的第一条日志" ); ?> |
让每一滴智慧绘制成一条不归路!