This bundle integrates the consent contracts into Symfony.
composer require setono/consent-bundle
This 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.yaml
setono_consent:
consents:
marketing: true
preferences: true
statistics: true
random_consent: true # you can easily add your own consents
The above configuration will effectively change the default consent to true
for all permissions.
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:
<?php
use Setono\Consent\Consents;
use Setono\Consent\ConsentCheckerInterface;
final class YourMarketingTrackingService
{
private ConsentCheckerInterface $consentChecker;
public function __construct(ConsentCheckerInterface $consentChecker) {
$this->consentChecker = $consentChecker;
}
public function track(): void
{
if(!$this->consentChecker->isGranted(Consents::CONSENT_MARKETING)) {
return;
}
// do your marketing tracking
}
}