This bundle integrates the consent contracts into Symfony.
composer require setono/consent-bundleThis installs and enables the plugin automatically if you're using Symfony Flex. If not, add the bundle manually
to bundles.php.
The default configuration has all (default) consents (marketing, preferences, and statistics) set to false. If you want to
change these defaults, you can easily do so:
# config/packages/setono_consent.yamlsetono_consent:
consents:
marketing: truepreferences: truestatistics: truerandom_consent: true # you can easily add your own consentsThe above configuration will effectively change the default consent to true for all permissions.
If you want to use a different consent checker, you can easily do so by implementing the ConsentCheckerInterface and
setting your own service id as the consent checker:
# config/packages/setono_consent.yamlsetono_consent:
consent_checker: <your service id>The bundle provides a StaticConsentChecker that uses the above consents array as an input.
You can then autowire the ConsentCheckerInterface and check for a granted consent:
<?phpuseSetono\Consent\Consents;
useSetono\Consent\ConsentCheckerInterface;
finalclass YourMarketingTrackingService
{
privateConsentCheckerInterface$consentChecker;
publicfunction__construct(ConsentCheckerInterface$consentChecker) {
$this->consentChecker = $consentChecker;
}
publicfunctiontrack(): void
{
if(!$this->consentChecker->isGranted(Consents::CONSENT_MARKETING)) {
return;
}
// do your marketing tracking
}
}