익명 클래스
<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; // instance $app->setLogger(new class implements Logger { // anonymous classes injection public function log(string $msg) { print($msg); } }); $app->getLogger()->log("message""); // message
반응형
'lang > php' 카테고리의 다른 글
PHP7 Filtered unserialize() - 시리얼라이저 복구 필터링 (0) | 2018.08.01 |
---|---|
PHP7 Closure::call() - 클루저 콜 (0) | 2018.07.31 |
PHP7 constant Arrays - 배열 상수 (0) | 2018.07.28 |
PHP7 Spaceship Operator 스페이스윕 연산자 (0) | 2018.07.27 |
PHP7 Null coalescing Operator - Null 통합 연산자 (0) | 2018.07.26 |