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

Twitter updates

  • New main/master version of ProcessWire that has more than 220 commits, resolves more than 80 issues, adds numerous new features, performance improvements and optimizations, and consumes HALF the disk space of our previous release— More
    13 May 2022
  • Summary of weekly core updates for 22 April 2022 More
    22 April 2022
  • ProcessWire 3.0.198 core updates: in this post we take a closer look at 3 useful new features added in this version— More
    15 April 2022

Latest news

  • ProcessWire Weekly #418
    In the 418th issue of ProcessWire Weekly we'll cover recent highlights, share some tips and tricks, and check out the new master version of ProcessWire, 3.0.200. Read on!
    Weekly.pw / 14 May 2022
  • ProcessWire 3.0.200 new master/main version
    This new main/master version has more than 220 commits, resolves more than 80 issues, adds numerous new features, performance improvements and optimizations, and consumes HALF the disk space of our previous release. This post covers all the details.
    Blog / 13 May 2022
  • Subscribe to weekly ProcessWire news

“To Drupal, or to ProcessWire? The million dollar choice. We decided to make an early switch to PW. And in retrospect, ProcessWire was probably the best decision we made. Thanks are due to ProcessWire and the amazing system and set of modules that are in place.” —Unni Krishnan, Founder of PigtailPundits