我明白我的问题有些不对劲,但我仍在努力解决这个问题.
我有一个界面Programmer:
interface Programmer {
public function writeCode();
}
Run Code Online (Sandbox Code Playgroud)
以及一些命名空间类:
Students\BjarneProgrammer(工具Programmer)Students\CharlieActor(工具Actor)我把这个类名存储在数组中 $students = array("BjarneProgrammer", "CharlieActor");
我想编写一个函数,如果它正在实现Programmer接口,它将返回一个类的实例.
例子:
getStudentObject($students[0]);- 它应该返回一个实例,BjarneProgrammer因为它正在实现Programmer.
getStudentObject($students[1]);- 它应该返回,false因为查理不是程序员.
我试了一下使用instanceof运营商,但主要的问题是,我不希望,如果它不执行编程实例化一个对象.
我检查了如何动态加载PHP代码并检查类是否实现接口,但是没有合适的答案,因为我不想创建对象,除非它是由函数返回的.