added array access to session::Get

This commit is contained in:
Taylor Otwell 2011-12-10 21:56:42 -06:00
parent a6c0407ebb
commit ff5b6315bc
2 changed files with 13 additions and 6 deletions

View File

@ -2,6 +2,7 @@ # Laravel Change Log
## Version 2.0.5
- Feature: Added array access to session::get.
- Fix: Remove orderings before running pagination queries.
- Fix: Session flush now correctly prepares empty data.
- Fix: DB::raw now works on Eloquent properties.

View File

@ -142,17 +142,23 @@ public function has($key)
*/
public function get($key, $default = null)
{
if (isset($this->session['data'][$key]))
$session = $this->session['data'];
// We check for the item in the general session data first, and if it
// does not exist in that data, we will attempt to find it in the new
// and old flash data. If none of those arrays contain the requested
// item, we will just return the default value.
if ( ! is_null($value = Arr::get($session, $key)))
{
return $this->session['data'][$key];
return $value;
}
elseif (isset($this->session['data'][':new:'][$key]))
elseif ( ! is_null($value = Arr::get($session[':new:'], $key)))
{
return $this->session['data'][':new:'][$key];
return $value;
}
elseif (isset($this->session['data'][':old:'][$key]))
elseif ( ! is_null($value = Arr::get($session[':old:'], $key)))
{
return $this->session['data'][':old:'][$key];
return $value;
}
return ($default instanceof Closure) ? call_user_func($default) : $default;