refactoring the session payload.

This commit is contained in:
Taylor Otwell 2011-11-01 00:10:25 -05:00
parent 82b75166ac
commit 06bf0a40a6
1 changed files with 5 additions and 14 deletions

View File

@ -236,20 +236,11 @@ protected function age()
if (strpos($key, ':old:') === 0) $this->forget($key);
}
$this->replace(':new:', ':old:', array_keys($this->session['data']));
}
/**
* Re-address the session data by performing a string replacement on the keys.
*
* @param string $search
* @param string $replace
* @param array $keys
* @return void
*/
protected function replace($search, $replace, $keys)
{
$keys = str_replace($search, $replace, $keys);
// Now that all of the "old" keys have been removed from the session data,
// we can re-address all of the newly flashed keys to have old addresses.
// The array_combine method uses the first array for keys, and the second
// array for values to construct a single array from both.
$keys = str_replace(':new', ':old:', array_keys($this->session['data']));
$this->session['data'] = array_combine($keys, array_values($this->session['data']));
}