Вход Регистрация
Файл: src/vendor/laravel/framework/src/Illuminate/Session/CookieSessionHandler.php
Строк: 90
<?php

namespace IlluminateSession;

use 
SessionHandlerInterface;
use 
SymfonyComponentHttpFoundationRequest;
use 
IlluminateContractsCookieQueueingFactory as CookieJar;

class 
CookieSessionHandler implements SessionHandlerInterface
{
    
/**
     * The cookie jar instance.
     *
     * @var IlluminateContractsCookieFactory
     */
    
protected $cookie;

    
/**
     * The request instance.
     *
     * @var SymfonyComponentHttpFoundationRequest
     */
    
protected $request;

    
/**
     * Create a new cookie driven handler instance.
     *
     * @param  IlluminateContractsCookieQueueingFactory  $cookie
     * @param  int  $minutes
     * @return void
     */
    
public function __construct(CookieJar $cookie$minutes)
    {
        
$this->cookie $cookie;
        
$this->minutes $minutes;
    }

    
/**
     * {@inheritdoc}
     */
    
public function open($savePath$sessionName)
    {
        return 
true;
    }

    
/**
     * {@inheritdoc}
     */
    
public function close()
    {
        return 
true;
    }

    
/**
     * {@inheritdoc}
     */
    
public function read($sessionId)
    {
        return 
$this->request->cookies->get($sessionId) ?: '';
    }

    
/**
     * {@inheritdoc}
     */
    
public function write($sessionId$data)
    {
        
$this->cookie->queue($sessionId$data$this->minutes);
    }

    
/**
     * {@inheritdoc}
     */
    
public function destroy($sessionId)
    {
        
$this->cookie->queue($this->cookie->forget($sessionId));
    }

    
/**
     * {@inheritdoc}
     */
    
public function gc($lifetime)
    {
        return 
true;
    }

    
/**
     * Set the request instance.
     *
     * @param  SymfonyComponentHttpFoundationRequest  $request
     * @return void
     */
    
public function setRequest(Request $request)
    {
        
$this->request $request;
    }
}
Онлайн: 3
Реклама