ExpressionVoter

class ExpressionVoter implements VoterInterface

ExpressionVoter votes based on the evaluation of an expression.

Methods

__construct(ExpressionLanguage $expressionLanguage, AuthenticationTrustResolverInterface $trustResolver, RoleHierarchyInterface $roleHierarchy = null)
addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider)
bool supportsAttribute(mixed $attribute)

Checks if the voter supports the given attribute.

bool supportsClass(string $class)

Checks if the voter supports the given class.

int vote(TokenInterface $token, object|null $object, array $attributes)

Returns the vote for the given parameters.

Details

__construct(ExpressionLanguage $expressionLanguage, AuthenticationTrustResolverInterface $trustResolver, RoleHierarchyInterface $roleHierarchy = null)

Parameters

ExpressionLanguage $expressionLanguage
AuthenticationTrustResolverInterface $trustResolver
RoleHierarchyInterface $roleHierarchy

addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider)

Parameters

ExpressionFunctionProviderInterface $provider

bool supportsAttribute(mixed $attribute)

Checks if the voter supports the given attribute.

Parameters

mixed $attribute An attribute (usually the attribute name string)

Return Value

bool true if this Voter supports the attribute, false otherwise

bool supportsClass(string $class)

Checks if the voter supports the given class.

Parameters

string $class A class name

Return Value

bool true if this Voter can process the class

int vote(TokenInterface $token, object|null $object, array $attributes)

Returns the vote for the given parameters.

This method must return one of the following constants: ACCESSGRANTED, ACCESSDENIED, or ACCESS_ABSTAIN.

Parameters

TokenInterface $token A TokenInterface instance
object|null $object The object to secure
array $attributes An array of attributes associated with the method being invoked

Return Value

int either ACCESSGRANTED, ACCESSABSTAIN, or ACCESS_DENIED