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?
Reserved de-dupe rules
Twin primes whose sum is a cube
What reasons are there for a Capitalist to oppose a 100% inheritance tax?
Is it unprofessional to ask if a job posting on GlassDoor is real?
Can one be a co-translator of a book, if he does not know the language that the book is translated into?
How do I write bicross product symbols in latex?
How to say in German "enjoying home comforts"
90's TV series where a boy goes to another dimension through portal near power lines
What's the difference between 'rename' and 'mv'?
Withdrawals from HSA
Stopping power of mountain vs road bike
Should I tell management that I intend to leave due to bad software development practices?
Is it inappropriate for a student to attend their mentor's dissertation defense?
Emailing HOD to enhance faculty application
A reference to a well-known characterization of scattered compact spaces
Why is it a bad idea to hire a hitman to eliminate most corrupt politicians?
Can I use a neutral wire from another outlet to repair a broken neutral?
Watching something be written to a file live with tail
Why are electrically insulating heatsinks so rare? Is it just cost?
What killed these X2 caps?
SSH "lag" in LAN on some machines, mixed distros
Can I ask the recruiters in my resume to put the reason why I am rejected?
Can a rocket refuel on Mars from water?
How could indestructible materials be used in power generation?
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;
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
add a comment |
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
add a comment |
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
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
8 services sessions
asked 10 hours ago
SpirosSpiros
235
235
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
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.
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
7 hours ago
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
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
7 hours ago
add a comment |
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.
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
7 hours ago
add a comment |
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.
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.
answered 9 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
7 hours ago
add a comment |
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
7 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
7 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
7 hours ago
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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