As the title suggests, I'm a bit confused about those two methods of creating and accessing a session on Drupal 8. I'm not quite sure when to use the one over the other, could someone point me to the right direction?
My issue started after a Drupal update, where originally I was using this way to start a session for anonymous users on my module:
$request = \Drupal::request(); $this->session = $request->getSession(); $session = $this->session->get('mymodule');
After the update, the above code won't create a session for anonymous user and the only way to make it work was this piece of code:
$tempstore = \Drupal::service('user.private_tempstore')->get('mymodule_name'); $tempstore->set('my_variable_name', ['test var' => 'this is my value']); echo '<pre>'; print_r($tempstore->get('my_variable_name')); echo '</pre>';
So, even though I've managed to make it work, I'm not quite sure why it did work that way.