Generic abstraction related to consent

v1.0.0 2023-02-21 07:18 UTC

This package is auto-updated.

Last update: 2024-05-18 07:26:31 UTC


Latest Version Software License Build Status Code Coverage

This library serves as a building block for handling consent related implementations in your library or application.


composer require setono/consent-contracts


use Setono\Consent\Consents;
use Setono\Consent\ConsentCheckerInterface;

final class YourService
    private ConsentCheckerInterface $consentChecker;
    public function __construct(ConsentCheckerInterface $consentChecker)
        $this->consentChecker = $consentChecker;    
    public function __invoke()
        if ($this->consentChecker->isGranted(Consents::CONSENT_MARKETING)) {
            // marketing consent is granted, and you can set your marketing related cookie ;)

Default consent checkers

This library also provides two implementations of the ConsentCheckerInterface, namely the DenyAllConsentChecker and GrantAllConsentChecker. You can use these two to provide default consents if a consent management system isn't implemented.