PHP kelas anonim
PHP 7 dukungan melaluikelas baru untuk instantiate kelas anonim, yang dapat digunakan untuk menggantikan beberapa "terbakar setelah penggunaan" definisi kelas lengkap.
contoh
contoh
<? Php
antarmuka Logger {
fungsi publik log (string $ msg) ;
}
Aplikasi class {
private $ logger;
fungsi publik getLogger (): Logger {
kembali $ this -> logger;
}
fungsi publik setLogger (Logger $ logger) {
$ Ini -> logger = $ logger ;
}
}
$ App = new Application;
// Buat kelas baru menggunakan kelas anonim
$ App -> setLogger (kelas baru mengimplementasikan Logger {
fungsi publik log (string $ msg) {
print ($ msg);
}
});
$ App -> getLogger () - > log ( " log pertama saya");
?>
antarmuka Logger {
fungsi publik log (string $ msg) ;
}
Aplikasi class {
private $ logger;
fungsi publik getLogger (): Logger {
kembali $ this -> logger;
}
fungsi publik setLogger (Logger $ logger) {
$ Ini -> logger = $ logger ;
}
}
$ App = new Application;
// Buat kelas baru menggunakan kelas anonim
$ App -> setLogger (kelas baru mengimplementasikan Logger {
fungsi publik log (string $ msg) {
print ($ msg);
}
});
$ App -> getLogger () - > log ( " log pertama saya");
?>
Output di atas eksekusi program adalah:
我的第一条日志