SessionInterface

interface SessionInterface

Interface for the session.

Methods

public bool start() Starts the session storage.
public string getId() Returns the session ID.
public setId(string $id) Sets the session ID.
public mixed getName() Returns the session name.
public setName(string $name) Sets the session name.
public bool invalidate(int $lifetime = null) Invalidates the current session.
public bool migrate(bool $destroy = false, int $lifetime = null) Migrates the current session to a new session id while maintaining all session attributes.
public save() Force the session to be saved and closed.
public bool has(string $name) Checks if an attribute is defined.
public mixed get(string $name, mixed $default = null) Returns an attribute.
public set(string $name, mixed $value) Sets an attribute.
public array all() Returns attributes.
public replace(array $attributes) Sets attributes.
public mixed remove(string $name) Removes an attribute.
public clear() Clears all attributes.
public bool isStarted() Checks if the session was started.
public registerBag(SessionBagInterface $bag) Registers a SessionBagInterface with the session.
public SessionBagInterface getBag(string $name) Gets a bag instance by name.
public MetadataBag getMetadataBag() Gets session meta.

Details

at line 30

start()

public bool start()

Starts the session storage.

Return Value

bool True if session started

Exceptions

RuntimeException if session fails to start
at line 37

getId()

public string getId()

Returns the session ID.

Return Value

string The session ID
at line 44

setId()

public setId(string $id)

Sets the session ID.

Parameters

string $id
at line 51

getName()

public mixed getName()

Returns the session name.

Return Value

mixed The session name
at line 58

setName()

public setName(string $name)

Sets the session name.

Parameters

string $name
at line 73

invalidate()

public bool invalidate(int $lifetime = null)

Invalidates the current session.

Clears all session attributes and flashes and regenerates the session and deletes the old session from persistence.

Parameters

int $lifetime Sets the cookie lifetime for the session cookie. A null value will leave the system settings unchanged, 0 sets the cookie to expire with browser session. Time is in seconds, and is not a Unix timestamp.

Return Value

bool True if session invalidated, false if error
at line 87

migrate()

public bool migrate(bool $destroy = false, int $lifetime = null)

Migrates the current session to a new session id while maintaining all session attributes.

Parameters

bool $destroy Whether to delete the old session or leave it to garbage collection
int $lifetime Sets the cookie lifetime for the session cookie. A null value will leave the system settings unchanged, 0 sets the cookie to expire with browser session. Time is in seconds, and is not a Unix timestamp.

Return Value

bool True if session migrated, false if error
at line 96

save()

public save()

Force the session to be saved and closed.

This method is generally not required for real sessions as the session will be automatically saved at the end of code execution.

at line 105

has()

public bool has(string $name)

Checks if an attribute is defined.

Parameters

string $name The attribute name

Return Value

bool true if the attribute is defined, false otherwise
at line 115

get()

public mixed get(string $name, mixed $default = null)

Returns an attribute.

Parameters

string $name The attribute name
mixed $default The default value if not found

Return Value

mixed
at line 123

set()

public set(string $name, mixed $value)

Sets an attribute.

Parameters

string $name
mixed $value
at line 130

all()

public array all()

Returns attributes.

Return Value

array Attributes
at line 137

replace()

public replace(array $attributes)

Sets attributes.

Parameters

array $attributes Attributes
at line 146

remove()

public mixed remove(string $name)

Removes an attribute.

Parameters

string $name

Return Value

mixed The removed value or null when it does not exist
at line 151

clear()

public clear()

Clears all attributes.

at line 158

isStarted()

public bool isStarted()

Checks if the session was started.

Return Value

bool
at line 163

registerBag()

public registerBag(SessionBagInterface $bag)

Registers a SessionBagInterface with the session.

Parameters

SessionBagInterface $bag
at line 172

getBag()

public SessionBagInterface getBag(string $name)

Gets a bag instance by name.

Parameters

string $name

Return Value

SessionBagInterface
at line 179

getMetadataBag()

public MetadataBag getMetadataBag()

Gets session meta.

Return Value

MetadataBag

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;

use Symfony\Component\HttpFoundation\Session\Storage\MetadataBag;

/**
 * Interface for the session.
 *
 * @author Drak <drak@zikula.org>
 */
interface SessionInterface
{
    /**
     * Starts the session storage.
     *
     * @return bool True if session started
     *
     * @throws \RuntimeException if session fails to start
     */
    public function start();

    /**
     * Returns the session ID.
     *
     * @return string The session ID
     */
    public function getId();

    /**
     * Sets the session ID.
     *
     * @param string $id
     */
    public function setId($id);

    /**
     * Returns the session name.
     *
     * @return mixed The session name
     */
    public function getName();

    /**
     * Sets the session name.
     *
     * @param string $name
     */
    public function setName($name);

    /**
     * Invalidates the current session.
     *
     * Clears all session attributes and flashes and regenerates the
     * session and deletes the old session from persistence.
     *
     * @param int $lifetime Sets the cookie lifetime for the session cookie. A null value
     *                      will leave the system settings unchanged, 0 sets the cookie
     *                      to expire with browser session. Time is in seconds, and is
     *                      not a Unix timestamp.
     *
     * @return bool True if session invalidated, false if error
     */
    public function invalidate($lifetime = null);

    /**
     * Migrates the current session to a new session id while maintaining all
     * session attributes.
     *
     * @param bool $destroy  Whether to delete the old session or leave it to garbage collection
     * @param int  $lifetime Sets the cookie lifetime for the session cookie. A null value
     *                       will leave the system settings unchanged, 0 sets the cookie
     *                       to expire with browser session. Time is in seconds, and is
     *                       not a Unix timestamp.
     *
     * @return bool True if session migrated, false if error
     */
    public function migrate($destroy = false, $lifetime = null);

    /**
     * Force the session to be saved and closed.
     *
     * This method is generally not required for real sessions as
     * the session will be automatically saved at the end of
     * code execution.
     */
    public function save();

    /**
     * Checks if an attribute is defined.
     *
     * @param string $name The attribute name
     *
     * @return bool true if the attribute is defined, false otherwise
     */
    public function has($name);

    /**
     * Returns an attribute.
     *
     * @param string $name    The attribute name
     * @param mixed  $default The default value if not found
     *
     * @return mixed
     */
    public function get($name, $default = null);

    /**
     * Sets an attribute.
     *
     * @param string $name
     * @param mixed  $value
     */
    public function set($name, $value);

    /**
     * Returns attributes.
     *
     * @return array Attributes
     */
    public function all();

    /**
     * Sets attributes.
     *
     * @param array $attributes Attributes
     */
    public function replace(array $attributes);

    /**
     * Removes an attribute.
     *
     * @param string $name
     *
     * @return mixed The removed value or null when it does not exist
     */
    public function remove($name);

    /**
     * Clears all attributes.
     */
    public function clear();

    /**
     * Checks if the session was started.
     *
     * @return bool
     */
    public function isStarted();

    /**
     * Registers a SessionBagInterface with the session.
     */
    public function registerBag(SessionBagInterface $bag);

    /**
     * Gets a bag instance by name.
     *
     * @param string $name
     *
     * @return SessionBagInterface
     */
    public function getBag($name);

    /**
     * Gets session meta.
     *
     * @return MetadataBag
     */
    public function getMetadataBag();
}