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; // 使用 new class 创建匿名类 $app->setLogger(new class implements Logger { public function log(string $msg) { print($msg); } }); $app->getLogger()->log("我的第一条日志"); ?>
以上程式執行輸出結果為:
我的第一条日志