codezero / cookie
您友好的、毛茸茸的cookie怪物。轻松获取和设置cookie。
2.0.0
2019-09-27 16:27 UTC
Requires
- php: >=5.4.0
- codezero/encrypter: ~2.0
Requires (Dev)
- illuminate/cookie: >=5.0
- illuminate/http: >=5.0
- illuminate/support: >=5.0
- phpunit/phpunit: ~8.0
This package is auto-updated.
Last update: 2024-08-28 04:20:43 UTC
README
您友好的、毛茸茸的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)。有关更多信息,请参阅许可证文件。