$session->set() method

Set a session variable

  • You can optionally use a namespace with this method, to avoid collisions with other session variables. But if using namespaces we recommended using the dedicated getFor() and setFor() methods instead.
  • You can also get or set non-namespaced session values directly (see examples).

Examples

// Set value "Bob" to session variable named "firstName"
$session->set('firstName', 'Bob');

// You can retrieve the firstName now, or any later request
$firstName = $session->get('firstName');

// outputs: Hello Bob
echo "Hello $firstName";
// Setting and getting a session value directly
$session->firstName = 'Bob';
$firstName = $session->firstName;

Usage

// basic usage
$session->set($key, $value);

// usage with all arguments
$session->set($key, $value, mixed $_value = null);

Arguments

NameType(s)Description
keystring, object

Name of session variable to set (or object for namespace)

valuestring, mixed

Value to set (or name of variable, if first argument is namespace)

_value (optional)mixed

Value to set if first argument is namespace. Omit otherwise.

Return value

$this

Object instance it was called from (method supports fluent interface).


$session methods and properties

API reference based on ProcessWire core version 3.0.248

Latest news

  • ProcessWire Weekly #581
    The 581st issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on!
    Weekly.pw / 28 June 2025
  • New ProcessWire admin redesign
    When you upgrade to ProcessWire 3.0.248 or newer (currently the dev branch), you’ll immediately notice something new and beautiful…
    Blog / 9 May 2025
  • Subscribe to weekly ProcessWire news

“We were really happy to build our new portfolio website on ProcessWire! We wanted something that gave us plenty of control on the back-end, without any bloat on the front end - just a nice, easy to access API for all our content that left us free to design and build however we liked.” —Castus, web design agency in Sheffield, UK