Php 获取声明的类()仅返回我直接使用的类

Php 获取声明的类()仅返回我直接使用的类,php,Php,我正在尝试获取实现我的接口的类的列表。这些类是根据用户输入动态实例化的 public function new($className) { $instance = new $className; return $instance; } public function getClasses() { var_dump(get_declared_classes()); } 但是,当我使用get_declared_classes()时,这些接口的实现不在列表中。如果我手动实例

我正在尝试获取实现我的接口的类的列表。这些类是根据用户输入动态实例化的

public function new($className) {
    $instance = new $className;
    return $instance;
}

public function getClasses() {
    var_dump(get_declared_classes());
}
但是,当我使用
get_declared_classes()
时,这些接口的实现不在列表中。如果我手动实例化它们并将它们丢弃,它们将出现在列表中

长颈鹿将出现在下面,但不在上面的示例中

public function new($className) {
    $throwAway = new Giraffe();
    $instance = new $className;
    return $instance;
}

public function getClasses() {
    var_dump(get_declared_classes());
}

如何获得包含这些实现的列表,而不必像上面那样实例化每个实现?

您永远不需要这样的东西。更好地使用接口。要坚实;)我需要知道哪些类实现了接口,在上面的示例中,可以是
AnimalInterface
,以在GUI中构建下拉列表。最终用户将选择哪个
AnimalInterface
实现应该吃掉他的苹果。你不需要这些类。将接口作为对象发送。(依赖项反转)您建议如何获得对象?客户端将发送一个字符串,其中包含它想要使用的实现的名称,例如,
Giraffe
您永远不需要这样的东西。更好地使用接口。要坚实;)我需要知道哪些类实现了接口,在上面的示例中,可以是
AnimalInterface
,以在GUI中构建下拉列表。最终用户将选择哪个
AnimalInterface
实现应该吃掉他的苹果。你不需要这些类。将接口作为对象发送。(依赖项反转)您建议如何获得对象?客户端将发送一个字符串,其中包含要使用的实现的名称,例如
Giraffe