What is the difference between Drupal::request()->getSession() and...

How much of data wrangling is a data scientist's job?

How to model explosives?

Why does Kotter return in Welcome Back Kotter

Emailing HOD to enhance faculty application

Withdrawals from HSA

How to show the equivalence between the regularized regression and their constraint formulas using KKT

Fully-Firstable Anagram Sets

What's the point of deactivating Num Lock on login screens?

Blender 2.8 I can't see vertices, edges or faces in edit mode

What mechanic is there to disable a threat instead of killing it?

Python: return float 1.0 as int 1 but float 1.5 as float 1.5

Can I ask the recruiters in my resume to put the reason why I am rejected?

Assassin's bullet with mercury

Is it possible to create light that imparts a greater proportion of its energy as momentum rather than heat?

Did Shadowfax go to Valinor?

Does casting Light, or a similar spell, have any effect when the caster is swallowed by a monster?

UK: Is there precedent for the governments e-petition site changing the direction of a government decision?

1960's book about a plague that kills all white people

I Accidentally Deleted a Stock Terminal Theme

How to draw the figure with four pentagons?

What reasons are there for a Capitalist to oppose a 100% inheritance tax?

Is it inappropriate for a student to attend their mentor's dissertation defense?

Can one be a co-translator of a book, if he does not know the language that the book is translated into?

Is there a hemisphere-neutral way of specifying a season?



What is the difference between Drupal::request()->getSession() and Drupal::service('user.private_tempstore')?


What is the proper way of retrieving and handling sessions when making multiple calls to the API?how could the global $user be different between the Drupal interface and Services module?Authenticated REST requests becoming anonymous userWhat is the right way to force a session start?How to store information in session for anonymous user in a site without a user with uid=0?What's the difference between Drupal 8.0.x and 8.1.x?Difference between browser session and Drupal sessionEvent does not trigger each time I load a pageRestoring tempstore with another session IDDifference between service and plugin?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







2















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.










share|improve this question





























    2















    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.










    share|improve this question

























      2












      2








      2


      1






      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.










      share|improve this question














      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.







      8 services sessions






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 11 hours ago









      SpirosSpiros

      235




      235






















          1 Answer
          1






          active

          oldest

          votes


















          3














          The main difference is that session data is stored in the database table sessions and PrivateTempStore in key_value_expire. Session data is preloaded in memory, private tempstore data only when requested. Session data is for small amount of data not exceeding a few megabytes, private tempstore for bigger chunks of data you don't want to have in memory when not needed.



          What you've posted is not starting a session, it gets a value. You would need to set a value first to start a session.






          share|improve this answer
























          • Yeah, my bad, it is setting the session in another controller, I just wanted to demonstrate the methods that I'm using. Also, I've found this article for a more detailed explanation: palantir.net/blog/d8ftw-storing-data-drupal-8

            – Spiros
            8 hours ago












          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "220"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdrupal.stackexchange.com%2fquestions%2f278686%2fwhat-is-the-difference-between-drupalrequest-getsession-and-drupalser%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          3














          The main difference is that session data is stored in the database table sessions and PrivateTempStore in key_value_expire. Session data is preloaded in memory, private tempstore data only when requested. Session data is for small amount of data not exceeding a few megabytes, private tempstore for bigger chunks of data you don't want to have in memory when not needed.



          What you've posted is not starting a session, it gets a value. You would need to set a value first to start a session.






          share|improve this answer
























          • Yeah, my bad, it is setting the session in another controller, I just wanted to demonstrate the methods that I'm using. Also, I've found this article for a more detailed explanation: palantir.net/blog/d8ftw-storing-data-drupal-8

            – Spiros
            8 hours ago
















          3














          The main difference is that session data is stored in the database table sessions and PrivateTempStore in key_value_expire. Session data is preloaded in memory, private tempstore data only when requested. Session data is for small amount of data not exceeding a few megabytes, private tempstore for bigger chunks of data you don't want to have in memory when not needed.



          What you've posted is not starting a session, it gets a value. You would need to set a value first to start a session.






          share|improve this answer
























          • Yeah, my bad, it is setting the session in another controller, I just wanted to demonstrate the methods that I'm using. Also, I've found this article for a more detailed explanation: palantir.net/blog/d8ftw-storing-data-drupal-8

            – Spiros
            8 hours ago














          3












          3








          3







          The main difference is that session data is stored in the database table sessions and PrivateTempStore in key_value_expire. Session data is preloaded in memory, private tempstore data only when requested. Session data is for small amount of data not exceeding a few megabytes, private tempstore for bigger chunks of data you don't want to have in memory when not needed.



          What you've posted is not starting a session, it gets a value. You would need to set a value first to start a session.






          share|improve this answer













          The main difference is that session data is stored in the database table sessions and PrivateTempStore in key_value_expire. Session data is preloaded in memory, private tempstore data only when requested. Session data is for small amount of data not exceeding a few megabytes, private tempstore for bigger chunks of data you don't want to have in memory when not needed.



          What you've posted is not starting a session, it gets a value. You would need to set a value first to start a session.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 10 hours ago









          4k44k4

          53k561104




          53k561104













          • Yeah, my bad, it is setting the session in another controller, I just wanted to demonstrate the methods that I'm using. Also, I've found this article for a more detailed explanation: palantir.net/blog/d8ftw-storing-data-drupal-8

            – Spiros
            8 hours ago



















          • Yeah, my bad, it is setting the session in another controller, I just wanted to demonstrate the methods that I'm using. Also, I've found this article for a more detailed explanation: palantir.net/blog/d8ftw-storing-data-drupal-8

            – Spiros
            8 hours ago

















          Yeah, my bad, it is setting the session in another controller, I just wanted to demonstrate the methods that I'm using. Also, I've found this article for a more detailed explanation: palantir.net/blog/d8ftw-storing-data-drupal-8

          – Spiros
          8 hours ago





          Yeah, my bad, it is setting the session in another controller, I just wanted to demonstrate the methods that I'm using. Also, I've found this article for a more detailed explanation: palantir.net/blog/d8ftw-storing-data-drupal-8

          – Spiros
          8 hours ago


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Drupal Answers!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdrupal.stackexchange.com%2fquestions%2f278686%2fwhat-is-the-difference-between-drupalrequest-getsession-and-drupalser%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          IEEEtran - How to include ORCID in TeX/PDF with PdfLatexIs there a standard way to include ORCID in TeX /...

          Cicindela nigrior Przypisy | Menu nawigacyjneCicindela varians unicolorManual for the Identification of the...

          Glossaries-extra: Adding glossaries package to “Clas­sicTh­e­sis” template by Dr. André Miede v. 4.6 ...