【问题标题】:get instances of class interface implementations in a file PHP [duplicate]在文件PHP中获取类接口实现的实例[重复]
【发布时间】:2013-06-05 17:43:18
【问题描述】:

假设我有文件 myplugin.php

如何获取实现某个接口的所有类的列表?

很简单

【问题讨论】:

    标签: php plugins reflection interface


    【解决方案1】:
    1. 加载所有文件(例如,您可以有一个插件目录)
    2. 遍历 get_declared_classes() 结果
    3. 检查实现:class_implements()

    【讨论】:

    • 或 grep -r "implements $classname" * :)
    • 不错的解决方案! :) 但是它对 grep 有很强的依赖性,有时一个具体的实现派生自一个抽象的实现,所以我们必须维护类层次结构。
    • 只需抽象出一个文件系统搜索器,它具有 grep 因为它是唯一的具体实现,然后将其注入到您的依赖图外部。这应该会安抚 IoC 之神
    猜你喜欢
    • 1970-01-01
    • 2012-05-17
    • 2013-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多