Вход Регистрация
Файл: Neiron/Kernel/Cookies.php
Строк: 41
<?php
/**
 * PHP 5x framework с открытым иходным кодом
 */
namespace NeironKernel;

/**
 * Класс для работы с cookie
 * @author KpuTuK
 * @version 1.0.0
 * @package Neiron framework
 * @category Kernel
 * @link
 */
class Cookies
{
    
/**
     * Массив ключ => данные cookie
     * @var array 
     */
    
private $cookies = array();
    
/**
     * Масси содержащий все праметры cookie
     * @var array 
     */
    
private $fromHeader = array();
    
/**
     * Сохраняет Cookie
     * @param string $key Наименование cookie
     * @param string $value Значение cookie
     * @param int $ttl Время, когда срок действия cookie истекает в часах
     * @param string $path Путь к директории на сервере, из которой будут доступны cookie
     * @param string $domain Домен, которому доступны cookie
     * @param bool $secure Указывает на то, что значение cookie должно передаваться от клиента по защищенному HTTPS соединению
     * @param bool $httpOnly Если задано TRUE, cookie будут доступны только через HTTP протокол
     */
    
public function set(
        
$key,
        
$value
        
$ttl 1,
        
$path '/',
        
$domain null,
        
$secure null,
        
$httpOnly true
    
){
        
$this->fromHeader[] = array(
            
'key' => $key,
            
'value' => $value,
            
'ttl' => time() + ($ttl 3600),
            
'path' => $path,
            
'domain' => $domain,
            
'secure' => $secure,
            
'httpOnly' => $httpOnly
        
);
        
$this->cookies[$key] = $value;
    }
    
/**
     * Возвращает содержимое cookie
     * @param string $key Наименование cookie
     * @return mixed Если cookie задана то вернет ее содержимое если нет то false
     */
    
public function get($key)
    {
        if (isset(
$this->cookies[$key])) {
            return 
$this->cookies[$key];
        }
        return 
false;
    }
    
/**
     * Удаляет cookie
     * @param string $key Наименование cookie
     */
    
public function remove($key)
    {
        if (isset(
$this->cookies[$key])) {
            
$this->set($key'', -24 3600);
        }
    }
    
/**
     * Сохраняет массив cookie
     * @param array $cookies Массив cookie
     */
    
public function setAll(array $cookies = array())
    {
        
$this->cookies array_merge($this->cookies$cookies);
    }
    
/**
     * Возвращает массив всех cookie
     * @param bool $fromHeaders Если параметр true то вернет массив для заголовков
     * @return type
     */
    
public function getAll($fromHeaders false)
    {
        if (
$fromHeaders) {
            return 
$this->fromHeader;
        }
        return 
$this->cookies;
    }
}
Онлайн: 0
Реклама