AutoExpireFlashBag
class
AutoExpireFlashBag implements
FlashBagInterface
AutoExpireFlashBag flash message container.
Methods
public
|
|
__construct(string $storageKey = '_symfony_flashes')
|
No description
|
|
public
|
string |
getName()
|
Gets this bag's name. |
|
public
|
|
setName($name)
|
No description
|
|
public
|
|
initialize(array $flashes)
|
Initializes the Bag. |
|
public
|
|
add(string $type, string $message)
|
Adds a flash message for type. |
|
public
|
array |
peek(string $type, array $default = array())
|
Gets flash messages for a given type. |
|
public
|
array |
peekAll()
|
Gets all flash messages. |
|
public
|
array |
get(string $type, array $default = array())
|
Gets and clears flash from the stack. |
|
public
|
array |
all()
|
Gets and clears flashes from the stack. |
|
public
|
|
setAll(array $messages)
|
Sets all flash messages. |
|
public
|
|
set(string $type, $messages)
|
Registers a message for a given type. |
|
public
|
bool |
has(string $type)
|
Has flash messages for a given type? |
|
public
|
array |
keys()
|
Returns a list of all defined types. |
|
public
|
string |
getStorageKey()
|
Gets the storage key for this bag. |
|
public
|
mixed |
clear()
|
Clears out data from bag. |
|
Details
__construct()
public __construct(string $storageKey = '_symfony_flashes')
Parameters
string |
$storageKey |
The key used to store flashes in the session |
getName()
public string getName()
setName()
public setName($name)
initialize()
public initialize(array $flashes)
add()
public add(string $type, string $message)
Adds a flash message for type.
Parameters
string |
$type |
|
string |
$message |
|
peek()
public array peek(string $type, array $default = array())
Gets flash messages for a given type.
Parameters
string |
$type |
Message category type |
array |
$default |
Default value if $type does not exist |
Return Value
peekAll()
public array peekAll()
get()
public array get(string $type, array $default = array())
Gets and clears flash from the stack.
Parameters
string |
$type |
|
array |
$default |
Default value if $type does not exist |
Return Value
Gets and clears flashes from the stack.
Return Value
setAll()
public setAll(array $messages)
set()
public set(string $type, $messages)
Registers a message for a given type.
Parameters
has()
public bool has(string $type)
Has flash messages for a given type?
Parameters
Return Value
keys()
public array keys()
Returns a list of all defined types.
Return Value
getStorageKey()
public string getStorageKey()
Gets the storage key for this bag.
Return Value
clear()
public mixed clear()
Clears out data from bag.
Return Value
mixed |
Whatever data was contained |
Source code
<?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;
/**
* AutoExpireFlashBag flash message container.
*
* @author Drak <drak@zikula.org>
*/
class AutoExpireFlashBag implements FlashBagInterface
{
private $name = 'flashes';
private $flashes = array('display' => array(), 'new' => array());
private $storageKey;
/**
* @param string $storageKey The key used to store flashes in the session
*/
public function __construct(string $storageKey = '_symfony_flashes')
{
$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;
// The logic: messages from the last request will be stored in new, so we move them to previous
// This request we will show what is in 'display'. What is placed into 'new' this time round will
// be moved to display next time round.
$this->flashes['display'] = array_key_exists('new', $this->flashes) ? $this->flashes['new'] : array();
$this->flashes['new'] = array();
}
/**
* {@inheritdoc}
*/
public function add($type, $message)
{
$this->flashes['new'][$type][] = $message;
}
/**
* {@inheritdoc}
*/
public function peek($type, array $default = array())
{
return $this->has($type) ? $this->flashes['display'][$type] : $default;
}
/**
* {@inheritdoc}
*/
public function peekAll()
{
return array_key_exists('display', $this->flashes) ? (array) $this->flashes['display'] : array();
}
/**
* {@inheritdoc}
*/
public function get($type, array $default = array())
{
$return = $default;
if (!$this->has($type)) {
return $return;
}
if (isset($this->flashes['display'][$type])) {
$return = $this->flashes['display'][$type];
unset($this->flashes['display'][$type]);
}
return $return;
}
/**
* {@inheritdoc}
*/
public function all()
{
$return = $this->flashes['display'];
$this->flashes['display'] = array();
return $return;
}
/**
* {@inheritdoc}
*/
public function setAll(array $messages)
{
$this->flashes['new'] = $messages;
}
/**
* {@inheritdoc}
*/
public function set($type, $messages)
{
$this->flashes['new'][$type] = (array) $messages;
}
/**
* {@inheritdoc}
*/
public function has($type)
{
return array_key_exists($type, $this->flashes['display']) && $this->flashes['display'][$type];
}
/**
* {@inheritdoc}
*/
public function keys()
{
return array_keys($this->flashes['display']);
}
/**
* {@inheritdoc}
*/
public function getStorageKey()
{
return $this->storageKey;
}
/**
* {@inheritdoc}
*/
public function clear()
{
return $this->all();
}
}