dedupe getSubclassesOf

This commit is contained in:
Shish
2020-02-23 16:39:55 +00:00
parent 9b6eb0e5e2
commit 4ade3452ee
4 changed files with 46 additions and 39 deletions

View File

@ -341,6 +341,17 @@ function get_extension(?string $mime_type): ?string
return ($ext ? $ext : null);
}
function getSubclassesOf(string $parent) {
$result = [];
foreach (get_declared_classes() as $class) {
$rclass = new ReflectionClass($class);
if (!$rclass->isAbstract() && is_subclass_of($class, $parent)) {
$result[] = $class;
}
}
return $result;
}
/**
* Like glob, with support for matching very long patterns with braces.
*/