PHP 7은 new class를 통해 익명 클래스 인스턴스화를 지원합니다. 이는 일부 "사용 후 굽기" 전체 클래스 정의를 대체하는 데 사용할 수 있습니다.
Example
<?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("我的第一条日志"); ?>
위 프로그램 실행의 출력 결과는 다음과 같습니다.
我的第一条日志