小编Sti*_*oza的帖子

php - 检查存储在字符串中的类名是否正在实现接口

我明白我的问题有些不对劲,但我仍在努力解决这个问题.

我有一个界面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代码并检查类是否实现接口,但是没有合适的答案,因为我不想创建对象,除非它是由函数返回的.

php oop namespaces

15
推荐指数
3
解决办法
7022
查看次数

标签 统计

namespaces ×1

oop ×1

php ×1