# 🍪 Cookies

The Leaf application provides helper methods to send cookies with the HTTP response. From version 2.2 beta, the old Leaf\Http\Cookies package has been replaced by Leaf\Http\Cookie. This change also fixes the bug which prevented use of Leaf\Http\Cookies inside route handlers and controllers.

# Init

Unlike the former Leaf\Http\Cookies package, you can use Leaf\Http\Cookie methods without initialising the class:

use Leaf\Http\Cookie;
// ...
Cookie::set("name", "Michael");

# Set

This method replaces the previous setCookie method. It takes in 3 params:

  • cookie name (string|array)
  • cookie value (optional - string)
  • cookie options (optional - array)
// normal method
Cookie::set("name", "Michael");
// using array
Cookie::set(["name" => "Michael"]);

You can also set multiple cookies at a time

Cookie::set([
    "name" => "Michael",
    "age" => "18"
]);

Adding cookie options

Cookie::set("name", "Michael", ["expire" => 0]);

Options for cookies are:

  • expire
  • path
  • domain
  • secure
  • httponly

# simpleCookie

This method allows you to quickly set a cookie and it's expiry time. It takes in 3 params:

  • cookie name (string|array)
  • cookie value (optional - string)
  • cookie expiresAt (optional - string - default of 7 days)
Cookie::simpleCookie("name", "Michael", "2 days");

# all

all returns all set cookies.

$cookies = Cookie::all();

# get

get returns a particular set cookie

$name = Cookie::get("name");

# unset

This method replaces the previous deleteCookie method. It takes in the cookie to unset.

// normal method
Cookie::unset("name");
// using array
Cookie::unset(["name"]);

You can also unset multiple cookies at a time

Cookie::unset(["name", "age"]);

# unsetAll

This method removes all set cookies.

Cookie::unsetAll();