PHP匿名类

Posted 迷失在路上

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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("我的第一条日志"); 
 
?>

以上是关于PHP匿名类的主要内容,如果未能解决你的问题,请参考以下文章

php匿名函数和闭包函数及use关键字传参及Closure匿名函数类

类方法中的 PHP 匿名函数隐藏类名(想使用 self 之类的东西来处理类名)

PHP匿名类

夯实PHP系列购物车代码说明PHP的匿名函数

由浅入深掌握匿名类

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段