PHP 7中的匿名类?
可以使用新类定义PHP7中的匿名类。也可以使用它代替完整的类定义。为什么要使用匿名类?
模拟测试很容易。
可以轻松创建接口的动态实现,从而避免使用复杂的模拟API。
可以将它们放在已定义的范围内。
可以避免将autoloader用于简单的实现。
示例
以下是代码示例-
<?php
interface a_logger {
public function log(string $msg);
}
class App {
private $logger;
public function getLogger(): a_logger {
return $this->logger;
}
public function setLogger(a_logger $logger) {
$this->logger = $logger;
}
}
$app = new App;
$app->setLogger(new class implements a_logger {
public function log(string $msg) {
print($msg);
}
});
$app->getLogger()->log("This has created an anonymous class");
?>输出结果
这将产生以下输出-
This has created an anonymous class
热门推荐
10 小侄过生日祝福语简短
11 小店营业的祝福语简短
12 担任老师的祝福语简短
13 饮料吧台祝福语简短大气
14 公司新春搞笑祝福语简短
15 高情商敬酒祝福语简短
16 婚礼祝福语新郎妹妹简短
17 教师答辩通过祝福语简短
18 生女孩红包简短祝福语