我有一个延期,说:
class UselessExtension extends DataExtension {
public function sayHello() {
echo "hello";
}
}
我用它来通过YAML配置扩展两个类:
Member:
extensions:
- UselessExtension
MyDataObject:
extensions:
- UselessExtension
SilverStripe中是否有一个函数可以调用以便知道我的UselessExtension扩展了哪些类?
我正在搜索类似
的内容DataExtension::getDecoratedBy('UselessExtension');
答案 0 :(得分:3)
AFAIK,没有内置的方法,所以你需要自己编写。
类似的东西应该有效:
function getDecoratedBy($extension){
$classes = array();
foreach(ClassInfo::subClassesFor('Object') as $className) {
if (Object::has_extension($className, $extension)){
$classes[] = $classname;
}
}
return $classes;
}