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.185

Twitter updates

  • ProcessWire 3.0.187: This week we have some very useful new additions to both the core Repeater Fieldtype and the ProFields Repeater Matrix Fieldtype. This post covers all the details along with a couple of brief demonstration videos— More
    22 October 2021
  • ProcessWire 3.0.185 (dev) core updates, plus new Session Allow module— More
    17 September 2021
  • Three new ProcessWire Textformatter modules: Find/Replace, Markdown in Markup, and Emoji— More
    3 September 2021

Latest news

  • ProcessWire Weekly #389
    The 389th issue of ProcessWire Weekly we'll check out the latest core updates, introduce the Session Viewer module, and more. Read on!
    Weekly.pw / 23 October 2021
  • New Repeater and Repeater Matrix features
    This week we have some very useful new additions to both the core Repeater Fieldtype and the ProFields Repeater Matrix Fieldtype. This post covers all the details along with a couple of brief demonstration videos. 
    Blog / 22 October 2021
  • Subscribe to weekly ProcessWire news

I just love the easy and intuitive ProcessWire API. ProcessWire rocks!” —Jens Martsch, Web developer