* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Validator\Constraints; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\Exception\ConstraintDefinitionException; /** * Disables auto mapping. * * Using the attribute on a property has higher precedence than using it on a class, * which has higher precedence than any configuration that might be defined outside the class. * * @author Kévin Dunglas */ #[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::TARGET_CLASS)] class DisableAutoMapping extends Constraint { /** * @param array|null $options */ public function __construct(?array $options = null) { if (\is_array($options) && \array_key_exists('groups', $options)) { throw new ConstraintDefinitionException(sprintf('The option "groups" is not supported by the constraint "%s".', __CLASS__)); } parent::__construct($options); } public function getTargets(): string|array { return [self::PROPERTY_CONSTRAINT, self::CLASS_CONSTRAINT]; } }