[Config] ReflectionClassResource check abstract ServiceSubscriberInterface and EventSubscriberInterface

This commit is contained in:
andrey1s 2018-03-05 11:57:35 +03:00 committed by Nicolas Grekas
parent ae25291610
commit e85151483c

View File

@ -155,12 +155,16 @@ class ReflectionClassResource implements SelfCheckingResourceInterface, \Seriali
}
}
if ($class->isSubclassOf(EventSubscriberInterface::class)) {
if ($class->isAbstract() || $class->isInterface() || $class->isTrait()) {
return;
}
if (interface_exists(EventSubscriberInterface::class, false) && $class->isSubclassOf(EventSubscriberInterface::class)) {
yield EventSubscriberInterface::class;
yield print_r(\call_user_func(array($class->name, 'getSubscribedEvents')), true);
}
if ($class->isSubclassOf(ServiceSubscriberInterface::class)) {
if (interface_exists(ServiceSubscriberInterface::class, false) && $class->isSubclassOf(ServiceSubscriberInterface::class)) {
yield ServiceSubscriberInterface::class;
yield print_r(\call_user_func(array($class->name, 'getSubscribedServices')), true);
}