0.01
PHP 5.4+
No commit activity in last 2 years
No release in over 2 years
Your friendly, furry cookie monster. Get and set cookies with ease.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

phpunit/phpunit
~8.0

Runtime

 Project Readme

PHP Cookies

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

ko-fi

Your friendly, furry cookie monster!

Get and set cookies in vanilla PHP with ease. A Laravel implementation is included, but this has no real advantages if you only use Laravel.

CAUTION! Never store sensitive data in a cookie!

Installation

Install this package through Composer:

composer require codezero/cookie

Vanilla PHP Implementation

Autoload the vendor classes:

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

And then use the VanillaCookie implementation:

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

If you want your cookies to be encrypted, pass an instance of codezero/encrypter to the Cookie class. You will also need to provide it with an encryption key that is needed to decrypt the cookie later on.

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

TIP: Laravel automagically encrypts cookies by default!

Laravel 5 Implementation

You can "make" (or inject) a Cookie instance anywhere in your app:

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

TIP: Laravel's IoC container will automatically provide the Laravel specific Cookie implementation. This will use Laravel's Cookie goodness behind the scenes!

Usage

Get a cookie

This will return null if the cookie doesn't exist or is expired.

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

Store a cookie for a limited time

If you don't specify $minutesValid, a default of 60 minutes will be used.

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

Store a cookie forever

5 years feels like forever... ;)

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

Delete a cookie

If the cookie doesn't exist, nothing will happen...

$cookie->delete('cookieName');

Check if a cookie exists

You can check if a cookie exists. However, keep in mind that a cookie will not be available immediately. It will be on the next page load.

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

Testing

$ composer run test

Security

If you discover any security related issues, please e-mail me instead of using the issue tracker.

License

The MIT License (MIT). Please see License File for more information.