PHP 7 は、 new classを介した 匿名クラスのインスタンス化をサポートしています。これを使用して、「使用後に焼き付けられる」一部の完全なクラス定義を置き換えることができます。
例
例
<?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 classimplements Logger { public function log(string $msg) { print($msg); } }); $app->getLogger()->log("最初のログ"); ?>
上記のプログラム実行の出力は次のとおりです。
私の最初のログ