PHP 教程

PHP 匿名类

PHP 7 新特性 PHP 7 新特性

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

实例

实例

<?php
interface Logger {
public function
log(string $msg);
}

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);
}
});

$app->getLogger()->log("我的第一条日志");
?>

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

我的第一条日志

PHP 7 新特性 PHP 7 新特性

其他扩展

用微信扫一扫

收藏