Get or set values in the current user session ($session API variable as a function)

This function behaves the same as the $session API variable, though does support optional shortcut arguments for getting or setting values.

Example

// Get a value from the session
$foo = session()->foo; // direct syntax
$foo = session()->get('foo'); // regular syntax
$foo = session('foo'); // shortcut syntax

// Set a value to the session
session()->foo = 'bar'; // direct syntax
session()->set('foo', 'bar');  // regular syntax
session('foo', 'bar'); // shortcut syntax

Usage

// basic usage
$session = session();

// usage with all arguments
$session = session(string $key = '', null $value = null);

Arguments

NameType(s)Description
key (optional)string

Optional property to get or set

value (optional)null

Optional value to set

Return value

Session null string array int float


Functions methods and properties

API reference based on ProcessWire core version 3.0.155

Twitter updates

  • This post covers a few of the bigger updates in ProcessWire 3.0.154+3.0.155. This includes new live replacement of text in core and modules, a new method for creating canonical URLs, and some major upgrades to our input->urlSegment() method! More
    24 April 2020
  • A brief look at what's new in ProcessWire 3.0.154 in this forum post: More
    17 April 2020
  • This week we’ve got a few new and interesting core updates in progress, though none quite ready to release just yet. So rather than releasing version 3.0.154 today, I thought we'd instead take a brief look at what’s coming over the next few weeks… More
    3 April 2020

Latest news

  • ProcessWire Weekly #310
    The 310th issue of ProcessWire Weekly is going to be short and sweet: in this issue we'll walk you through the latest core updates, introduce a third party module called Twack, and check out a really gorgeous new site of the week. Read on!
    Weekly.pw / 18 April 2020
  • ProcessWire 3.0.154 and 3.0.155 core updates
    This post covers a few of the bigger updates in ProcessWire 3.0.154 and 3.0.155 on the dev branch. This includes a new function for live replacement of text in core and modules, a new method for creating canonical URLs, and some major upgrades to our $input->urlSegment() method that I think you’ll like!
    Blog / 24 April 2020
  • 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