php - 检查存储在字符串中的类名是否正在实现接口
2022-08-30 14:34:50
我知道我的问题在某种程度上是错误的,但我仍然在努力解决这个问题。
我有一个界面:Programmer
interface Programmer {
public function writeCode();
}
和几个命名空间类:
-
Students\BjarneProgrammer
(实现Programmer
) -
Students\CharlieActor
(实现Actor
)
我有这个类名存储在数组中$students = array("BjarneProgrammer", "CharlieActor");
我想写一个函数,如果它正在实现接口,它将返回一个类的实例。Programmer
例子:
getStudentObject($students[0]);
- 它应该返回一个实例,因为它正在实现程序员。BjarneProgrammer
getStudentObject($students[1]);
- 它应该回来,因为查理不是程序员。false
我尝试使用运算符,但主要问题是,如果它没有实现程序员,我不想实例化对象。instanceof
我检查了如何动态加载php代码并检查类是否实现接口,但没有适当的答案,因为我不想创建对象,除非它被函数返回。