Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.php > #3955
| From | k@rl.pflaesterer.de (Karl Pflästerer) |
|---|---|
| Newsgroups | de.comp.lang.php |
| Subject | Re: Die Tuecken von session_status() |
| Date | 2016-09-09 08:56 +0200 |
| Message-ID | <m1fup9v9x6.fsf@mbp.pflaesterer.de> (permalink) |
| References | <1t57d137aai2c99n3e8%sfroehli@Froehlich.Priv.at> <m1k2emvayf.fsf@mbp.pflaesterer.de> <1t57d1ddbbi72acn3e8%sfroehli@Froehlich.Priv.at> |
Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) writes:
> On Thu, 08 Sep 2016 14:21:28 Karl Pflästerer wrote:
>> Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) writes:
>> > [...] kann ich irgendwie herausbekommen, ob ich mich gerade *im*
>> > Aufbau einer Session befinde, d.h. im Initialisierungscode von darin
>> > enthaltenen Objekten?
>
>> Was ist, wenn du
>> http://php.net/manual/en/function.session-set-save-handler.php nutzt und
>> einen eigenen Sessionhandler definierst?
>
> Ich hatte gehofft, mir nicht die Hände schmutzig machen zu müssen.
>
> Und mir ist auch unklar, wie der Sessionhandler auszusehen hätte.
>
> SessionHandler::read() wird aufgerufen, um die serialisierten Daten
> zu lesen. Dummerweise scheint die Initialisierung der geladenen
> Daten erst danach zu erfolgen, und ausserhalb der via Interface
> zugänglichen Methoden :-/
>
> Ein spontaner Versuch:
>
>
> #v+
> class SessionHandler_MyKassa extends SessionHandler {
>
> public static $initializing = false;
>
> public function read($session_id) {
> echo "ANFANG";
> $this->initializing = true;
> $result = parent::read($session_id);
> $this->initializing = false;
> echo "ENDE";
> return $result;
> }
>
> public static function isInitializing() : Bool {
> return self::$initializing;
> }
> }
> #v-
>
>
> ...hat jedenfalls gezeigt, dass "ENDE" erreicht wird, bevor das
> erste __wakeup aufgerufen wird. Blöd.
Kannst du das Problem genauer schildern, dass du lösen möchtest? Die
betreffenden Objekte werden also nicht nur in Sessiondaten gespeichert
und aus diesen deserialisiert? Man könnte eventuuell das Problem auch
umgekehrt angehen und sagen, man geht davon aus, dass man *in* einer
Session ist, es sei denn man legt im Code fest, dass dies nicht so ist.
Letzeres ist vielleicht in deinem Fall leicher umzusetzen.
KP
Back to de.comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Die Tuecken von session_status() Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-09-08 10:16 +0000
Re: Die Tuecken von session_status() k@rl.pflaesterer.de (Karl Pflästerer) - 2016-09-08 14:21 +0200
Re: Die Tuecken von session_status() Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-09-08 22:14 +0000
Re: Die Tuecken von session_status() k@rl.pflaesterer.de (Karl Pflästerer) - 2016-09-09 08:56 +0200
Re: Die Tuecken von session_status() Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-09-09 09:09 +0000
Re: Die Tuecken von session_status() k@rl.pflaesterer.de (Karl Pflästerer) - 2016-09-09 14:25 +0200
Re: Die Tuecken von session_status() Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-09-09 17:03 +0000
Re: Die Tuecken von session_status() k@rl.pflaesterer.de (Karl Pflästerer) - 2016-09-09 20:46 +0200
Re: Die Tuecken von session_status() Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-09-11 16:06 +0000
Re: Die Tuecken von session_status() "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-09-09 19:39 +0200
Re: Die Tuecken von session_status() Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-09-11 16:02 +0000
Re: Die Tuecken von session_status() "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-09-15 15:25 +0200
Re: Die Tuecken von session_status() Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-10-02 18:48 +0000
Re: Die Tuecken von session_status() "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-10-03 19:47 +0200
csiph-web