This library serves as a building block for handling consent related implementations in your library or application.
composer require setono/consent-contracts
<?php
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 ;)
}
}
}
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.