omegaalfa/cookie

PHP中操作cookie的类

v1.0.0 2024-06-23 04:57 UTC

This package is not auto-updated.

Last update: 2024-09-29 07:01:19 UTC


README

这是一个简单的PHP类,提供了一种简单易用的接口来处理您的Web应用中的cookie。

描述

Cookie类是一个用于在PHP中管理cookie的工具。它提供了一种面向对象的接口来定义、获取、删除和检查cookie的存在,以及与cookie相关的其他功能。

安装

您可以使用Composer安装Cookie

composer require omegaalfa/cookie:dev-main
use omegaalfa\Cookie;

// Set a cookie
Cookie::make('username', 'John Doe')
     ->withExpiration(3600)
     ->withPath('/')
     ->withDomain('.example.com')
     ->withSecure(true)
     ->withHttpOnly(true)
     ->send();

// Get the value of a cookie
$username = Cookie::get('username');

// Delete a cookie
Cookie::delete('username');

## Métodos

### `set`
Define um novo cookie. Aceita vários parâmetros para configurar o cookie, incluindo nome, valor, tempo de expiração, caminho, domínio, se deve ser seguro, se deve ser acessível apenas via HTTP, e o atributo `SameSite`.
```php
Cookie::set('theme', 'red', time() + 3600, '/', 'example.com', true, true, 'Strict');

get

根据名称获取cookie的值。如果cookie不存在,则返回默认值。

Cookie::get('theme', 'default');

delete

删除现有的cookie。接受路径、域名和是否安全的参数,以及cookie的名称。

Cookie::delete('theme', '/', 'example.com', true);

exists

检查cookie是否存在。

if (Cookie::exists('theme')) { // O cookie existe }

isSecure

检查cookie是否安全。

if (Cookie::isSecure('theme')) { // O cookie é seguro }

isHttpOnly

检查cookie是否为HTTP-only。

if (Cookie::isHttpOnly('theme')) { // O cookie é HTTP-only }

getExpirationTime

返回cookie的过期时间作为Unix时间戳。

$expirationTime = Cookie::getExpirationTime('theme');

getDomain

返回与cookie关联的域名。

$domain = Cookie::getDomain('theme');

getPath

返回与cookie关联的路径。

$path = Cookie::getPath('theme');

getAllCookies

返回当前域名上定义的所有cookie的数组。

$allCookies = Cookie::getAllCookies();

clearAllCookies

删除当前域名上定义的所有cookie。

Cookie::clearAllCookies();

checkCookieConsent

检查用户是否已同意存储cookie。

if (Cookie::checkCookieConsent()) { // O usuário deu consentimento }

getCookieValueByRegex

返回与给定正则表达式匹配的cookie值的数组。

$matches = Cookie::getCookieValueByRegex('/^theme/');

deleteCookiesByRegex

删除与给定正则表达式匹配的所有cookie。

Cookie::deleteCookiesByRegex('/^theme/');

// 检查cookie是否存在 if (Cookie::exists('name')) { // Cookie存在 }

## Contribuição

Contribuições são bem-vindas. Por favor, abra um pull request ou issue para discutir mudanças ou adições.

## Licença

Este projeto está licenciado sob a licença MIT. Veja o arquivo `LICENSE` para mais detalhes.