private function getProperties(Encryptable $model): array
    {
        $properties = [];
        $reflection = new ReflectionObject($model);

        foreach ($reflection->getProperties() as $property) {
            $annotation = $this->annotationReader->getPropertyAnnotation($property, Encrypt::class);

            if (!$annotation) {
                continue;
            }

            if (null !== $annotation->applicable && !$this->expressionLanguage->evaluate($annotation->applicable, ['object' => $model])) {
                continue;
            }

            $properties[] = $property;
        }

        return $properties;
    }
private function getProperties(Encryptable $model): array
    {
        $properties = [];
        $reflection = new ReflectionObject($model);

        foreach ($reflection->getProperties() as $property) {
            $annotation = $this->annotationReader->getPropertyAnnotation($property, Encrypt::class);

            if (!$annotation) {
                continue;
            }

            if (null !== $annotation->applicable && !$this->expressionLanguage->evaluate($annotation->applicable, ['object' => $model])) {
                continue;
            }

            $properties[] = $property;
        }

        return $properties;
    }
private function getProperties ( Encryptable $ model ) : array { $ properties = [ ] ; $ reflection = new ReflectionObject ( $ model ) ; foreach ( $ reflection -> getProperties ( ) as $ property ) { $ annotation = $ this -> annotationReader -> getPropertyAnnotation ( $ property , Encrypt :: class ) ; if ( ! $ annotation ) { continue ; } if ( null !== $ annotation -> applicable && ! $ this -> expressionLanguage -> evaluate ( $ annotation -> applicable , [ 'object' => $ model ] ) ) { continue ; } $ properties [ ] = $ property ; } return $ properties ; }
Get properties with Encrypt annotation

@param \Ds\Component\Encryption\Model\Type\Encryptable $model
@return \ReflectionProperty[]
Get properties with Encrypt annotation