omegaalfa/cookie
PHP中操作cookie的类
v1.0.0
2024-06-23 04:57 UTC
Requires
- php: ^8.0
Requires (Dev)
- phpunit/phpunit: ^9.5
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.