2015-08-17 17:00:26 -07:00
< ? php
/*
* This file is part of the Symfony package .
*
* ( c ) Fabien Potencier < fabien @ symfony . com >
*
* For the full copyright and license information , please view the LICENSE
* file that was distributed with this source code .
*/
namespace Symfony\Component\HttpFoundation\Session\Flash ;
/**
* FlashBag flash message container .
*
* @ author Drak < drak @ zikula . org >
*/
2018-11-23 12:29:20 +00:00
class FlashBag implements FlashBagInterface
2015-08-17 17:00:26 -07:00
{
private $name = 'flashes' ;
private $flashes = array ();
private $storageKey ;
/**
2017-02-02 16:28:38 -08:00
* @ param string $storageKey The key used to store flashes in the session
2015-08-17 17:00:26 -07:00
*/
2018-11-23 12:29:20 +00:00
public function __construct ( $storageKey = '_symfony_flashes' )
2015-08-17 17:00:26 -07:00
{
$this -> storageKey = $storageKey ;
}
/**
* { @ inheritdoc }
*/
public function getName ()
{
return $this -> name ;
}
public function setName ( $name )
{
$this -> name = $name ;
}
/**
* { @ inheritdoc }
*/
public function initialize ( array & $flashes )
{
$this -> flashes = & $flashes ;
}
/**
* { @ inheritdoc }
*/
public function add ( $type , $message )
{
$this -> flashes [ $type ][] = $message ;
}
/**
* { @ inheritdoc }
*/
public function peek ( $type , array $default = array ())
{
return $this -> has ( $type ) ? $this -> flashes [ $type ] : $default ;
}
/**
* { @ inheritdoc }
*/
public function peekAll ()
{
return $this -> flashes ;
}
/**
* { @ inheritdoc }
*/
public function get ( $type , array $default = array ())
{
if ( ! $this -> has ( $type )) {
return $default ;
}
$return = $this -> flashes [ $type ];
unset ( $this -> flashes [ $type ]);
return $return ;
}
/**
* { @ inheritdoc }
*/
public function all ()
{
$return = $this -> peekAll ();
$this -> flashes = array ();
return $return ;
}
/**
* { @ inheritdoc }
*/
public function set ( $type , $messages )
{
$this -> flashes [ $type ] = ( array ) $messages ;
}
/**
* { @ inheritdoc }
*/
public function setAll ( array $messages )
{
$this -> flashes = $messages ;
}
/**
* { @ inheritdoc }
*/
public function has ( $type )
{
return array_key_exists ( $type , $this -> flashes ) && $this -> flashes [ $type ];
}
/**
* { @ inheritdoc }
*/
public function keys ()
{
return array_keys ( $this -> flashes );
}
/**
* { @ inheritdoc }
*/
public function getStorageKey ()
{
return $this -> storageKey ;
}
/**
* { @ inheritdoc }
*/
public function clear ()
{
return $this -> all ();
}
}