protected function getAllClassesAnnotationsByType(string $type, string ...$classes): array
    {
        $annotations = [];

        // Iterate through all the classes
        foreach ($classes as $class) {
            // Get all the annotations for each class and iterate through them
            /** @var \Valkyrja\Annotations\Annotation $annotation */
            foreach ($this->classAndMembersAnnotationsType(
                $type,
                $class
            ) as $annotation) {
                $this->setServiceProperties($annotation);

                // If this annotation is a service
                if ($type === $this->servicesAnnotationType) {
                    /* @var \Valkyrja\Container\Annotations\Service $annotation */
                    $annotations[] =
                        $this->getServiceFromAnnotation($annotation);

                    continue;
                }

                // If this annotation is a context service
                if ($type === $this->contextServicesAnnotationType) {
                    /* @var \Valkyrja\Container\Annotations\ServiceContext $annotation */
                    $annotations[] =
                        $this->getServiceContextFromAnnotation($annotation);

                    continue;
                }

                // Set the annotation in the annotations list
                $annotations[] = $annotation;
            }
        }

        return $annotations;
    }
protected function getAllClassesAnnotationsByType(string $type, string ...$classes): array
    {
        $annotations = [];

        // Iterate through all the classes
        foreach ($classes as $class) {
            // Get all the annotations for each class and iterate through them
            /** @var \Valkyrja\Annotations\Annotation $annotation */
            foreach ($this->classAndMembersAnnotationsType(
                $type,
                $class
            ) as $annotation) {
                $this->setServiceProperties($annotation);

                // If this annotation is a service
                if ($type === $this->servicesAnnotationType) {
                    /* @var \Valkyrja\Container\Annotations\Service $annotation */
                    $annotations[] =
                        $this->getServiceFromAnnotation($annotation);

                    continue;
                }

                // If this annotation is a context service
                if ($type === $this->contextServicesAnnotationType) {
                    /* @var \Valkyrja\Container\Annotations\ServiceContext $annotation */
                    $annotations[] =
                        $this->getServiceContextFromAnnotation($annotation);

                    continue;
                }

                // Set the annotation in the annotations list
                $annotations[] = $annotation;
            }
        }

        return $annotations;
    }
protected function getAllClassesAnnotationsByType ( string $ type , string ... $ classes ) : array { $ annotations = [ ] ; // Iterate through all the classes foreach ( $ classes as $ class ) { // Get all the annotations for each class and iterate through them /** @var \Valkyrja\Annotations\Annotation $annotation */ foreach ( $ this -> classAndMembersAnnotationsType ( $ type , $ class ) as $ annotation ) { $ this -> setServiceProperties ( $ annotation ) ; // If this annotation is a service if ( $ type === $ this -> servicesAnnotationType ) { /* @var \Valkyrja\Container\Annotations\Service $annotation */ $ annotations [ ] = $ this -> getServiceFromAnnotation ( $ annotation ) ; continue ; } // If this annotation is a context service if ( $ type === $ this -> contextServicesAnnotationType ) { /* @var \Valkyrja\Container\Annotations\ServiceContext $annotation */ $ annotations [ ] = $ this -> getServiceContextFromAnnotation ( $ annotation ) ; continue ; } // Set the annotation in the annotations list $ annotations [ ] = $ annotation ; } } return $ annotations ; }
Get all annotations for a class and its members by type.

@param string   $type       The type
@param string[] ...$classes The classes

@throws \ReflectionException

@return array
Get all annotations for a class and its members by type .