Простий пакет для погодження на використання файлів cookie в Laravel

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 21 березня, 2025
Вас цікавить, як покращити управління куки на вашому сайті за допомогою Laravel? У нашій статті ви дізнаєтеся про пакет Cookie Guard, який дозволяє користувачам легко налаштовувати свої уподобання щодо куків, а також про його основні функції та можливості інтеграції

Пакет Laravel Cookie Guard пропонує просте вікно згоди на використання cookie, де користувачі можуть визначити, які cookie вони хочуть дозволити. Після відправлення модального вікна ці cookie стають доступними для використання на фронтенді.

Після налаштування пакета та визначення cookie для вашого сайту ви можете перевірити, чи дозволено певну категорію cookie. У прикладі з readme використовується PHP-індикатор $_COOKIE, але ви також можете створити хелпер для спрощення перевірок згоди на cookie:

<!-- Перевірка cookie 'targeting': -->
@if(isset($_COOKIE[config('cookies_consent.cookie_prefix') . 'cookies_consent']))
    @php
        $cookiesConsent = json_decode($_COOKIE[config('cookies_consent.cookie_prefix') . 'cookies_consent'], true);
    @endphp
    @if(isset($cookiesConsent['targeting']) && $cookiesConsent['targeting'] && config('app.google_analytics_id'))
        
        

Примітка: приклад з readme базується на HTML, що генерується сервером, який не кешується.

На фронтенді ви можете використовувати window.localStorage для перевірки відповідних cookie, визначених у конфігураційному файлі. Це дозволить вам динамічно реалізувати логіку згоди на cookie на фронтенді.

# Основні можливості

Дізнайтеся більше про цей пакет, повні інструкції з установки та перегляньте вихідний код на GitHub.

Також ви можете встановити та налаштувати цей пакет за допомогою Composer і Artisan:

composer require scify/laravel-cookie-guard
php artisan vendor:publish \
--provider="SciFY\LaravelCookiesConsent\LaravelCookiesConsentServiceProvider" \
--tag="cookies-consent-public" \
--tag="cookies-consent-config"