如何将$ my_interface :: class与MyInterFace :: class相同

时间:2015-05-28 20:37:50

标签: php

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语言。

2 个答案:

答案 0 :(得分:0)

是的,你不能在php中传递类。我使参数返回MyInterface :: class,然后将其用于implementsInterface。

答案 1 :(得分:0)

您可以使用get_class功能。

$bar->implementsInterface(get_class($my_interface));