has('user_id')) { echo "Usuário já identificado.\n"; } else { echo "Nenhum usuário no cookie.\n"; } // ============================================================================= // add() — Adiciona ou atualiza um valor // ============================================================================= $cookie->add('user_id', 42); $cookie->add('theme', 'dark'); $cookie->add('lang', 'pt-BR'); // ============================================================================= // get() — Lê um valor com fallback opcional // ============================================================================= $user_id = $cookie->get('user_id'); // 42 $theme = $cookie->get('theme', 'light'); // 'dark' $missing = $cookie->get('nao_existe', 'N/A'); // 'N/A' echo "Usuário : {$user_id}\n"; echo "Tema : {$theme}\n"; echo "Ausente : {$missing}\n"; // ============================================================================= // all() — Retorna todos os dados // ============================================================================= $dados = $cookie->all(); foreach ($dados as $key => $value) { echo "{$key}: {$value}\n"; } // user_id: 42 // theme: dark // lang: pt-BR // ============================================================================= // del() — Remove uma chave específica // ============================================================================= $cookie->del('lang'); echo $cookie->has('lang') ? "ainda existe\n" : "removido\n"; // removido // ============================================================================= // logout() — Apaga todos os dados e remove o cookie do browser // ============================================================================= $cookie->logout(); echo count($cookie->all()) === 0 ? "Cookie limpo.\n" : "Ainda tem dados.\n"; // ============================================================================= // Personalizando as opções de segurança // (por exemplo, em ambiente local sem HTTPS) // ============================================================================= class DevCookie extends Cookie { public string $name = 'dev_session'; public array $options = [ 'path' => '/', 'secure' => false, // HTTP permitido em ambiente local 'httponly' => true, 'samesite' => 'Lax', ]; } $dev = new DevCookie(); $dev->add('debug', true); // ============================================================================= // Tratando o erro de headers já enviados // ============================================================================= try { $cookie->add('chave', 'valor'); } catch (RuntimeException $e) { error_log($e->getMessage()); // "Não é possível definir o cookie 'minha_sessao' — headers já enviados em index.php:10" }