refactoring.
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
<?php namespace Laravel\Session\Drivers;
|
||||
|
||||
use Laravel\Cookie as C;
|
||||
use Laravel\Security\Crypter;
|
||||
|
||||
class Cookie implements Driver {
|
||||
@@ -16,15 +15,24 @@ class Cookie implements Driver {
|
||||
*/
|
||||
private $crypter;
|
||||
|
||||
/**
|
||||
* The cookie manager instance.
|
||||
*
|
||||
* @var Cookie
|
||||
*/
|
||||
private $cookies;
|
||||
|
||||
/**
|
||||
* Create a new Cookie session driver instance.
|
||||
*
|
||||
* @param Crypter $crypter
|
||||
* @param Cookie $cookies
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(Crypter $crypter)
|
||||
public function __construct(Crypter $crypter, \Laravel\Cookie $cookies)
|
||||
{
|
||||
$this->crypter = $crypter;
|
||||
$this->cookies = $cookies;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -37,9 +45,9 @@ class Cookie implements Driver {
|
||||
*/
|
||||
public function load($id)
|
||||
{
|
||||
if (C::has('session_payload'))
|
||||
if ($this->cookies->has('session_payload'))
|
||||
{
|
||||
return unserialize($this->crypter->decrypt(C::get('session_payload')));
|
||||
return unserialize($this->crypter->decrypt($this->cookies->get('session_payload')));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,7 +64,7 @@ class Cookie implements Driver {
|
||||
|
||||
$payload = $this->crypter->encrypt(serialize($session));
|
||||
|
||||
C::put('session_payload', $payload, $lifetime, $path, $domain);
|
||||
$this->cookies->put('session_payload', $payload, $lifetime, $path, $domain);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -67,7 +75,7 @@ class Cookie implements Driver {
|
||||
*/
|
||||
public function delete($id)
|
||||
{
|
||||
C::forget('session_payload');
|
||||
$this->cookies->forget('session_payload');
|
||||
}
|
||||
|
||||
}
|
||||
@@ -91,10 +91,16 @@ class Manager {
|
||||
*
|
||||
* @param Payload $payload
|
||||
* @param array $config
|
||||
* @param array $flash
|
||||
* @return void
|
||||
*/
|
||||
public function close(Payload $payload, $config)
|
||||
public function close(Payload $payload, $config, $flash = array())
|
||||
{
|
||||
foreach ($flash as $key => $value)
|
||||
{
|
||||
$this->driver->flash($key, $value);
|
||||
}
|
||||
|
||||
$this->driver->save($payload->age(), $config);
|
||||
|
||||
$this->transporter->put($payload->session['id'], $config);
|
||||
|
||||
@@ -1,9 +1,25 @@
|
||||
<?php namespace Laravel\Session\Transporters;
|
||||
|
||||
use Laravel\Cookie as C;
|
||||
|
||||
class Cookie implements Transporter {
|
||||
|
||||
/**
|
||||
* The cookie manager instance.
|
||||
*
|
||||
* @var Cookie
|
||||
*/
|
||||
protected $cookies;
|
||||
|
||||
/**
|
||||
* Create a new cookie session transporter instance.
|
||||
*
|
||||
* @param Cookie $cookie
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(\Laravel\Cookie $cookies)
|
||||
{
|
||||
$this->cookies = $cookies;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the session identifier for the request.
|
||||
*
|
||||
@@ -12,7 +28,7 @@ class Cookie implements Transporter {
|
||||
*/
|
||||
public function get($config)
|
||||
{
|
||||
return C::get('laravel_session');
|
||||
return $this->cookies->get('laravel_session');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -26,7 +42,7 @@ class Cookie implements Transporter {
|
||||
{
|
||||
$minutes = ($config['expire_on_close']) ? 0 : $config['lifetime'];
|
||||
|
||||
C::put('laravel_session', $id, $minutes, $config['path'], $config['domain']);
|
||||
$this->cookies->put('laravel_session', $id, $minutes, $config['path'], $config['domain']);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user