This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/src/Symfony/Component/HttpFoundation/SessionStorage/SessionStorageInterface.php

94 lines
2.3 KiB
PHP
Raw Normal View History

<?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.
*/
2011-01-29 14:45:10 +00:00
namespace Symfony\Component\HttpFoundation\SessionStorage;
use Symfony\Component\HttpFoundation\FlashBagInterface;
use Symfony\Component\HttpFoundation\AttributeBagInterface;
/**
* SessionStorageInterface.
*
* @author Fabien Potencier <fabien@symfony.com>
* @author Drak <drak@zikula.org>
2011-07-20 09:06:02 +01:00
*
* @api
*/
interface SessionStorageInterface
{
/**
* Starts the session.
2011-07-20 09:06:02 +01:00
*
* @throws \RuntimeException If something goes wrong starting the session.
*
* @return boolean True if started.
*
2011-07-20 09:06:02 +01:00
* @api
*/
function start();
/**
* Returns the session ID
*
* @return mixed The session ID or false if the session has not started.
2011-07-20 09:06:02 +01:00
*
* @api
*/
function getId();
/**
* Regenerates id that represents this storage.
*
* This method must invoke session_regenerate_id($destroy) unless
* this interface is used for a storage object designed for unit
* or functional testing where a real PHP session would interfere
* with testing.
*
* @param Boolean $destroy Destroy session when regenerating?
*
* @return Boolean True if session regenerated, false if error
*
* @throws \RuntimeException If an error occurs while regenerating this storage
2011-07-20 09:06:02 +01:00
*
* @api
*/
function regenerate($destroy = false);
/**
* Force the session to be saved and closed.
*
* This method must invoke session_write_close() unless this interface is
* used for a storage object design for unit or functional testing where
* a real PHP session would interfere with testing, in which case it
* it should actually persist the session data if required.
*/
function save();
/**
* Clear all session data in memory.
*/
function clear();
/**
* Gets the FlashBagInterface driver.
*
* @return FlashBagInterface
*/
function getFlashes();
/**
* Gets the AttributeBagInterface driver.
2011-07-20 09:06:02 +01:00
*
* @return AttributeBagInterface
*/
function getAttributes();
}