PHP匿名クラス
完全なクラス定義を「使用後は燃え」の一部を置き換えるために使用することができます匿名クラスをインスタンス化するための新しいクラスを経由してPHP 7のサポート。
例
例
<?phpの
インタフェースロガー{
パブリック関数log(文字列$ MSG) 。
}
クラスアプリケーション{
プライベート $ロガー。
パブリック関数のgetLogger():ロガー{
返す $この- >ロガー。
}
パブリック関数setLogger(ロガー$ロガー) {
$この- >ロガー= $ロガー 。
}
}
$アプリ =新しいアプリケーション。
//匿名クラスを使用して新しいクラスを作成します。
$アプリ- > setLogger(新しいクラス {ロガーを実装
パブリック関数log(文字列$ MSG) {
印刷 ($のMSG)。
}
});
$アプリ- >のgetLogger() - >ログ( " 私の最初のログ");
?>
インタフェースロガー{
パブリック関数log(文字列$ MSG) 。
}
クラスアプリケーション{
プライベート $ロガー。
パブリック関数のgetLogger():ロガー{
返す $この- >ロガー。
}
パブリック関数setLogger(ロガー$ロガー) {
$この- >ロガー= $ロガー 。
}
}
$アプリ =新しいアプリケーション。
//匿名クラスを使用して新しいクラスを作成します。
$アプリ- > setLogger(新しいクラス {ロガーを実装
パブリック関数log(文字列$ MSG) {
印刷 ($のMSG)。
}
});
$アプリ- >のgetLogger() - >ログ( " 私の最初のログ");
?>
上記プログラム実行出力は、次のとおりです。
我的第一条日志