PHP 7-익명 클래스

이제 새 클래스를 사용하여 익명 클래스를 정의 할 수 있습니다. 전체 클래스 정의 대신 익명 클래스를 사용할 수 있습니다.

<?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;
   $app->setLogger(new class implements Logger {
      public function log(string $msg) {
         print($msg);
      }
   });

   $app->getLogger()->log("My first Log Message");
?>

다음 브라우저 출력을 생성합니다.

My first Log Message