codezero/cookie

您友好的、毛茸茸的cookie怪物。轻松获取和设置cookie。

2.0.0 2019-09-27 16:27 UTC

This package is auto-updated.

Last update: 2024-08-28 04:20:43 UTC


README

GitHub release License Build Status Code Coverage Scrutinizer Code Quality Total Downloads

ko-fi

您友好的、毛茸茸的cookie怪物!

轻松使用纯PHP获取和设置cookie。包含Laravel实现,但如果你只使用Laravel,这并没有真正的优势。

注意!永远不要在cookie中存储敏感数据!

安装

通过Composer安装此包

composer require codezero/cookie

纯PHP实现

自动加载供应商类

require_once 'vendor/autoload.php'; // Path may vary

然后使用VanillaCookie实现

$cookie = new \CodeZero\Cookie\VanillaCookie();

如果你想加密cookie,将codezero/encrypter的实例传递给Cookie类。你还需要提供一个加密密钥,该密钥用于稍后解密cookie。

$key = 'my secret app key';
$encrypter = new \CodeZero\Encrypter\DefaultEncrypter($key);
$cookie = new \CodeZero\Cookie\VanillaCookie($encrypter);

提示: Laravel默认自动加密cookie!

Laravel 5实现

你可以在应用的任何地方“创建”(或注入)一个Cookie实例

$cookie = \App::make('CodeZero\Cookie\Cookie');

提示: Laravel的IoC容器将自动提供Laravel特定的Cookie实现。这将使用Laravel的Cookie背后的好处!

用法

获取cookie

如果cookie不存在或已过期,这将返回null

$cookieValue = $cookie->get('cookieName');

存储有限时间的cookie

如果没有指定$minutesValid,将使用默认的60分钟。

$minutesValid = 120;
$cookie->store('cookieName', 'cookieValue', $minutesValid);

永久存储cookie

5年感觉像永远... ;)

$cookie->forever('cookieName', 'cookieValue');

删除cookie

如果cookie不存在,将不会发生任何操作...

$cookie->delete('cookieName');

检查cookie是否存在

你可以检查cookie是否存在。然而,请注意,cookie不会立即可用。它将在下一次页面加载时出现。

if ($cookie->exists('cookieName')) {
    // The cookie exists!
}

测试

$ composer run test

安全性

如果你发现任何安全相关的问题,请通过电子邮件联系我而不是使用问题跟踪器。

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件