refactoring.

This commit is contained in:
Taylor Otwell
2011-09-21 21:46:16 -05:00
parent b9b9711921
commit 0c4018ec88
42 changed files with 980 additions and 1330 deletions

View File

@@ -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');
}
}

View File

@@ -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);

View File

@@ -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']);
}
}