From 4ba0b04ced2ae4eff6dff8595b4d8e04330ded7f Mon Sep 17 00:00:00 2001 From: neznaika0 Date: Tue, 8 Apr 2025 10:33:08 +0300 Subject: [PATCH 1/3] docs: Note about switching types in session --- user_guide_src/source/libraries/sessions.rst | 9 +++++++ .../source/libraries/sessions/045.php | 25 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 user_guide_src/source/libraries/sessions/045.php diff --git a/user_guide_src/source/libraries/sessions.rst b/user_guide_src/source/libraries/sessions.rst index 03c2bbe81fc2..d88f0363503c 100644 --- a/user_guide_src/source/libraries/sessions.rst +++ b/user_guide_src/source/libraries/sessions.rst @@ -344,6 +344,15 @@ intend to reuse that same key in the same request, you'd want to use .. literalinclude:: sessions/036.php +Flag Manipulation +================= + +Since the data is stored in the session and the Flashdata/Tempdata methods only manipulates flags, you can change the type for one value. + +.. literalinclude:: sessions/045.php + +You may never use it, but know that it works. + Closing a Session ================= diff --git a/user_guide_src/source/libraries/sessions/045.php b/user_guide_src/source/libraries/sessions/045.php new file mode 100644 index 000000000000..69d6d2de7877 --- /dev/null +++ b/user_guide_src/source/libraries/sessions/045.php @@ -0,0 +1,25 @@ +setFlashdata('alerts', 'Operation success!'); + +/** + * Get flash value 'Operation success!' in another controller. + * + * echo session()->getFlashdata('alerts'); + */ + +// Switch flag +session()->markAsTempdata('alerts'); + +// or rewrite +session()->setTempdata('alerts', 'Operation success!'); + +/** + * Get temp value 'Operation success!' in another controller. + * + * echo session()->getTempdata('alerts'); + * + * But flash value will be empty 'null'. + * + * echo session()->getFlashdata('alerts'); + */ From c3a8e27a5d55102c5efb48767a463ab4a03e9fe2 Mon Sep 17 00:00:00 2001 From: neznaika0 Date: Tue, 8 Apr 2025 22:26:48 +0300 Subject: [PATCH 2/3] docs: Apply suggestion --- user_guide_src/source/libraries/sessions.rst | 8 +++----- user_guide_src/source/libraries/sessions/045.php | 4 ++-- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/user_guide_src/source/libraries/sessions.rst b/user_guide_src/source/libraries/sessions.rst index d88f0363503c..a89e12df32c0 100644 --- a/user_guide_src/source/libraries/sessions.rst +++ b/user_guide_src/source/libraries/sessions.rst @@ -344,15 +344,13 @@ intend to reuse that same key in the same request, you'd want to use .. literalinclude:: sessions/036.php -Flag Manipulation -================= +Changing the Session Key Type +============================= -Since the data is stored in the session and the Flashdata/Tempdata methods only manipulates flags, you can change the type for one value. +Since session data values like Flashdata and Tempdata are differentiated only by internal flags, you can change a value's type without rewriting its data. .. literalinclude:: sessions/045.php -You may never use it, but know that it works. - Closing a Session ================= diff --git a/user_guide_src/source/libraries/sessions/045.php b/user_guide_src/source/libraries/sessions/045.php index 69d6d2de7877..e83efba65329 100644 --- a/user_guide_src/source/libraries/sessions/045.php +++ b/user_guide_src/source/libraries/sessions/045.php @@ -8,10 +8,10 @@ * echo session()->getFlashdata('alerts'); */ -// Switch flag +// You can switch the session key type from Flashdata to Tempdata like this: session()->markAsTempdata('alerts'); -// or rewrite +// Or simply rewrite it directly session()->setTempdata('alerts', 'Operation success!'); /** From e4bff61999bf77f40cdc6217492037879429ddf5 Mon Sep 17 00:00:00 2001 From: neznaika0 Date: Fri, 11 Apr 2025 09:55:37 +0300 Subject: [PATCH 3/3] docs:Grammar fix --- user_guide_src/source/libraries/sessions/045.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/user_guide_src/source/libraries/sessions/045.php b/user_guide_src/source/libraries/sessions/045.php index e83efba65329..b9327e133172 100644 --- a/user_guide_src/source/libraries/sessions/045.php +++ b/user_guide_src/source/libraries/sessions/045.php @@ -1,9 +1,9 @@ setFlashdata('alerts', 'Operation success!'); +session()->setFlashdata('alerts', 'Operation successful!'); -/** - * Get flash value 'Operation success!' in another controller. +/* + * Get flash value 'Operation successful!' in another controller. * * echo session()->getFlashdata('alerts'); */ @@ -12,10 +12,10 @@ session()->markAsTempdata('alerts'); // Or simply rewrite it directly -session()->setTempdata('alerts', 'Operation success!'); +session()->setTempdata('alerts', 'Operation successful!'); -/** - * Get temp value 'Operation success!' in another controller. +/* + * Get temp value 'Operation successful!' in another controller. * * echo session()->getTempdata('alerts'); *