PHP 8.4.22 Released!

SessionUpdateTimestampHandlerInterface クラス

(PHP 7, PHP 8)

はじめに

SessionUpdateTimestampHandlerInterface は カスタムセッションハンドラを作成する際の最低限のプロトタイプを定義したインターフェイスです。 自作のセッションハンドラを オブジェクト指向型 の起動方法で session_set_save_handler() に渡すために、このインターフェイスを実装することができます。

このクラスのコールバックメソッドは PHP が内部的にコールするものであり、 ユーザーのコードから呼ばれることは想定していないことに注意しましょう。

クラス概要

interface SessionUpdateTimestampHandlerInterface {
/* メソッド */
public function updateTimestamp(string $id, string $data): bool
public function validateId(string $id): bool
}

目次

add a note

User Contributed Notes 2 notes

up
0
polygon dot co dot in at gmail dot com
4 days ago
I found that the updateTimestamp has special function.

Seems this was specifically meant for updating timestamp for Cookie based session.

When we use Cookie as a mode of storage of session data we need to maintain the timestamp inside the cookie data.

Generally, when we use other modes we have timestamp details for when it was last accessed. I. case of Cookie this details is with browser as the modified data is set at that moment but not inside the cookie.

So, if we need the last accessed timestamp we can add a kay for the timestamp.

The hack is we need to use session option ['serialize_handler' => 'php_serialize'] so that unserialize add required timestamp key and re serialize it.

I think the 'php_serialize' is the only option which helps to decode the sessionData inside the Session Handler class.
up
0
Anonymous
6 years ago
There is a bit of documentation provided by Wu Xiancheng. See his comment in the SessionHandlerInterface section:
https://www.php.net/manual/en/class.sessionhandlerinterface.php#122032
To Top