$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.244

Latest news

  • ProcessWire Weekly #559
    The 559th issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on!
    Weekly.pw / 25 January 2025
  • ProcessWire 3.0.244 new main/master version
    ProcessWire 3.0.244 is our newest main/master/stable version. It's been more than a year in the making and is packed with tons of new features, issue fixes, optimizations and more. This post covers all the details.
    Blog / 18 January 2025
  • Subscribe to weekly ProcessWire news

“Yesterday I sent the client a short documentation for their ProcessWire-powered website. Today all features already used with no questions. #cmsdoneright—Marc Hinse, Web designer/developer