How do I access $_SESSION in a view? Let's say I want to use $_SESSION['user_variable'] with a view as a filter value. I read that in Drupal 7 I could add such a value with custom PHP code. How should I do in Drupal 8? I didn't find an easy solution so far.

Would it be better to temporarily save a user's choice that is valid for the whole session in the database and tell the view to get the value from there?
In case this might be helpful for other (beginners): Using the session object in a custom controller class with dependency injection.

Drupal\user\PrivateTempStoreFactory;

class mymodule_Controller extends ControllerBase {

  /**
  * The user's private $tempStore object.
  *
  * @var \Drupal\user\PrivateTempStoreFactory
  */
  protected $tempStore;

  public function __construct(PrivateTempStoreFactory $temp_store_factory) {
    $this-&gt;tempStore = $temp_store_factory-&gt;get('mymodule_name');
  }

 /**
 * {@inheritdoc}
 */
 public static function create(ContainerInterface $container) {
   return new static(
     $container-&gt;get('user.private_tempstore')
   );
 }

 // Now get and set values in tempstore
 public function foo() {
  $foo = "xyz";
  // Set a session object "bar" and give it value $foo
  $this-&gt;tempStore-&gt;set('bar', $foo);

  // Get the 'bar' object from the session object.
  $value = $this-&gt;tempStore-&gt;get('bar');
 }

}