Latest web development tutorials

PHP 匿名類

PHP 7 新特性 PHP 7新特性

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 ( "我的第一條日誌" );
?>

以上程序執行輸出結果為:

我的第一条日志

PHP 7 新特性 PHP 7新特性