}
}
+ protected function getGroupAnnotations(): array {
+ if (method_exists($this, 'getAnnotations')) {
+ $annotations = $this->getAnnotations();
+ return $annotations['class']['group'] ?? [];
+ }
+
+ $r = new \ReflectionClass($this);
+ $doc = $r->getDocComment();
+ preg_match_all('#@group\s+(.*?)\n#s', $doc, $annotations);
+ return $annotations[1] ?? [];
+ }
+
protected function IsDatabaseAccessAllowed() {
// on travis-ci.org we allow database access in any case - otherwise
// this will break all apps right away
if (true == getenv('TRAVIS')) {
return true;
}
- $annotations = $this->getAnnotations();
- if (isset($annotations['class']['group'])) {
- if (in_array('DB', $annotations['class']['group']) || in_array('SLOWDB', $annotations['class']['group'])) {
+ $annotations = $this->getGroupAnnotations();
+ if (isset($annotations)) {
+ if (in_array('DB', $annotations) || in_array('SLOWDB', $annotations)) {
return true;
}
}