trait Foo {
abstract protected function getInterface(): MyInterface
public function foo() {
$my_interface = $this->getInterface();
$bar->implementsInterface($my_interface::class);
}
}
问题:我希望$bar->implementsInterface($my_interface::class);
等同于$bar->implementsInterface(MyInterface::class);
我该怎么做呢?我在php中有点像菜鸟,并且很快就会使用OO语言。
答案 0 :(得分:0)
是的,你不能在php中传递类。我使参数返回MyInterface :: class,然后将其用于implementsInterface。
答案 1 :(得分:0)
您可以使用get_class
功能。
$bar->implementsInterface(get_class($my_interface));