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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM