PHP code example of omegaalfa / cookie

1. Go to this page and download the library: Download omegaalfa/cookie library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

omegaalfa / cookie example snippets




use omegaalfa\Cookie\Cookie;

// Definir um cookie (seguro por padrão)
Cookie::set('usuario', 'joao_silva');

// Definir com expiração de 7 dias
Cookie::set('preferencias', 'tema=dark', time() + (7 * 24 * 60 * 60));

// Obter valor do cookie
$usuario = Cookie::get('usuario');

// Obter com valor padrão
$tema = Cookie::get('tema', 'light');

// Verificar se existe
if (Cookie::exists('usuario')) {
    echo "Usuário logado!";
}

// Deletar cookie
Cookie::delete('usuario');

// Cookie de sessão
Cookie::set('session_token', 'abc123');

// Cookie com expiração de 1 hora
Cookie::set('carrinho', json_encode($itens), time() + 3600);

// Cookie com todas as opções personalizadas
Cookie::set(
    name: 'analytics_id',
    value: 'UA-12345',
    expiration: time() + (365 * 24 * 60 * 60),
    path: '/',
    domain: '.meusite.com.br',
    secure: true,
    httpOnly: false,
    sameSite: 'Strict'
);

// Obter cookie simples
$token = Cookie::get('auth_token');

// Com valor padrão
$idioma = Cookie::get('idioma', 'pt-BR');

> echo htmlspecialchars(Cookie::get('nome', ''), ENT_QUOTES, 'UTF-8');
> 

if (Cookie::exists('usuario_id')) {
    $usuario = carregarUsuario(Cookie::get('usuario_id'));
}

// Deletar cookie simples
Cookie::delete('preferencias');

// Deletar cookie com path específico
Cookie::delete('admin_session', '/admin');

// Deletar cookie com domínio
Cookie::delete('global_session', '/', '.meusite.com.br');

$cookies = Cookie::getAllCookies();
foreach ($cookies as $nome => $valor) {
    echo "{$nome}: {$valor}\n";
}

// Logout completo
Cookie::clearAllCookies();
session_destroy();

// Configuração básica
$key = 'sua-chave-de-32-bytes-ou-mais!!!';
Cookie::configureEncryption($key);

// Criptografar todos os cookies automaticamente
Cookie::configureEncryption($key, encryptByDefault: true);

// Criptografar todos exceto alguns
Cookie::configureEncryption(
    key: $key,
    encryptByDefault: true,
    except: ['session_id', 'csrf_token', 'locale']
);

Cookie::configureEncryption($key);

// O valor será criptografado automaticamente
Cookie::setEncrypted('user_data', json_encode([
    'id' => 123,
    'email' => '[email protected]',
    'role' => 'admin'
]));

$userData = Cookie::getDecrypted('user_data');
if ($userData !== null) {
    $data = json_decode($userData, true);
    echo "Bem-vindo, {$data['email']}!";
}

// Com valor padrão
$settings = Cookie::getDecrypted('settings', '{}');

Cookie::configureEncryption($key);

// Criptografar manualmente
$encrypted = Cookie::encrypt('dado sensível');

// Descriptografar
$decrypted = Cookie::decrypt($encrypted);
// Retorna null se a descriptografia falhar

// Enfileirar múltiplos cookies
Cookie::queue('user_id', '123');
Cookie::queue('session_token', 'abc123');
Cookie::queue('preferences', 'dark_mode=true');

Cookie::configureEncryption($key);

Cookie::queueEncrypted('sensitive_data', json_encode([
    'credit_card_last4' => '4242',
    'payment_method' => 'visa'
]));

Cookie::queueForever('remember_me', $token);

Cookie::queueDelete('old_session');
Cookie::queueDelete('legacy_cookie', '/old-path');

// Enfileirar cookies durante o processamento
Cookie::queue('analytics', 'page_view');
Cookie::queue('cart_count', '5');
Cookie::queueEncrypted('user_token', $token);

// Enviar todos ao final
Cookie::sendQueued();

// Verificar se um cookie está na fila
if (Cookie::hasQueued('user_id')) {
    // ...
}

// Obter dados de um cookie enfileirado
$queued = Cookie::getQueued('user_id');
// ['value' => '123', 'options' => [...]]

// Obter todos os cookies enfileirados
$all = Cookie::getAllQueued();

// Remover um cookie da fila
Cookie::unqueue('user_id');

// Limpar a fila sem enviar
Cookie::flushQueue();

// Contar cookies na fila
$count = Cookie::queueCount();

// Cookie persistente para "lembrar-me"
Cookie::forever('remember_token', $token);

// Equivalente a:
Cookie::set('remember_token', $token, time() + (400 * 24 * 60 * 60));

if (Cookie::checkCookieConsent()) {
    // Pode definir cookies de analytics/marketing
    Cookie::set('analytics', 'enabled');
}

// Buscar todos os cookies de usuário
$valores = Cookie::getCookieValueByRegex('/^user_/');

// Buscar cookies de sessão
$sessoes = Cookie::getCookieValueByRegex('/^sess_[a-f0-9]+$/');

// Deletar todos os cookies de tracking
Cookie::deleteCookiesByRegex('/^tracking_/');

// Limpar cookies temporários
Cookie::deleteCookiesByRegex('/^tmp_/');

   echo htmlspecialchars(Cookie::get('name', ''), ENT_QUOTES, 'UTF-8');
   

   Cookie::configureEncryption($key);
   Cookie::setEncrypted('user_data', $sensitiveData);
   

   // Gere uma chave segura
   $key = bin2hex(random_bytes(32)); // 64 caracteres hex
   

   // Use variáveis de ambiente
   $key = getenv('COOKIE_ENCRYPTION_KEY');
   Cookie::configureEncryption($key);
   

session_start();

// Quando usuário aceitar
$_SESSION['cookie_consent'] = true;

// Verificar
if (Cookie::checkCookieConsent()) {
    // OK para definir cookies não-essenciais
}

$secret = getenv('COOKIE_CONSENT_SECRET');

// Quando usuário aceitar
Cookie::set('cookie_consent', 'true');
Cookie::set('cookie_consent_signature', hash_hmac('sha256', 'cookie_consent:true', $secret));

// Verificar
if (Cookie::checkCookieConsent()) {
    // Consentimento verificado criptograficamente
}