PHP:如何获得实现某个接口的类的列表? [英] PHP: how to get a list of classes that implement certain interface?
本文介绍了PHP:如何获得实现某个接口的类的列表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个接口
interface IModule {
public function Install();
}
和一些实现此接口的类
class Module1 implements IModule {
public function Install() {
return true;
}
}
class Module2 implements IModule {
public function Install() {
return true;
}
}
...
class ModuleN implements IModule {
public function Install() {
return true;
}
}
如何获取实现此类的所有类的列表接口?
我想使用PHP获取此列表。
How to get a list of all classes that implement this interface? I'd like to get this list with PHP.
推荐答案
您可以使用PHP的 ReflectionClass :: implementsInterface
和 get_declared_classes
函数来完成此操作:
You can use PHP's ReflectionClass::implementsInterface
and get_declared_classes
functions to accomplish this:
$classes = get_declared_classes();
$implementsIModule = array();
foreach($classes as $klass) {
$reflect = new ReflectionClass($klass);
if($reflect->implementsInterface('IModule'))
$implementsIModule[] = $klass;
}
这篇关于PHP:如何获得实现某个接口的类的列表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文