php7 匿名类解析
<?php
#定义一个接口
interface Logger {
public function log(string $msg);
}
#创建一个类
class Application {
private $logger;
#必须返回一个Logger的实例
public function getLogger(): Logger {
return $this->logger;
}
#参数为Logger的实例
public function setLogger(Logger $logger) {
$this->logger = $logger;
}
}
$app = new Application;
// 使用 new class 创建匿名类 完成Logger接口并的实例出来
$app->setLogger(new class implements Logger {
public function log(string $msg) {
print($msg);
}
});
$app->getLogger()->log("我的第一条日志");
?>