Класс Cookie онлайн урок.


Для удобного управления куками, создадим соответствующий класс, который будет содержать методы записи, удаления кук, а также обращения к кукам.

abstract class Cookie
{
public static function set()
{
}

public static function get()
{
}

public static function delete()
{
}
}


Метод set() будет принимать параметры названия куки, значения и времени хранения. Реализация содержит вызов функции setcookie()

public static function set($key, $value, $time = 31536000)
{
setcookie($key, $value, time() + $time, '/') ;
}


Тут третий аргумент - время хранения куки - выставлен по умолчанию равным одному году. Также, в функции setcookie() четвертым аргументом указано, что куки будут доступны из любого каталога сайта.

Метод get() проверяет, задано ли значение куки. Если да, то возвращает ее.

public static function get($key)
{
if ( isset($_COOKIE[$key]) ){
return $_COOKIE[$key];
}
return null;
}


И наконец, удаление куки:

public static function delete($key)
{
if ( isset($_COOKIE[$key]) ){
self::set($key, '', -3600);
unset($_COOKIE[$key]);
}
}