Php7-anonymous-classes

提供:Dev Guides
2020年6月23日 (火) 02:06時点におけるMaintenance script (トーク | 投稿記録)による版 (Imported from text file)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先:案内検索

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