SessionHandler::read

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandler::readセッションのデータを読み込む

説明

public SessionHandler::read(string $id): string|false

セッションのデータをセッションストレージから読み込み、その結果を PHP の内部処理用に返します。 このメソッドは PHP がセッションを自動的に開始したとき、あるいは session_start() を実行したときにコールされ、内部的に SessionHandler::open() で処理されます。

このメソッドは、このハンドラが session_set_save_handler() で設定される前に ini 設定 session.save_handler で定義されていた PHP の保存ハンドラをラップします。

このクラスを継承して拡張する場合は、親の read メソッドをコールすればこのメソッドのラッパーを実行でき、それに付随する内部コールバックも実行されます。 こうすれば、メソッドをオーバーライドしたり処理を横取りしてフィルタを追加したり (親の read メソッドが返す $data を復号したりなど) できます。

このメソッドに関する詳細は、 SessionHandlerInterface::read() のドキュメントを参照ください。

パラメータ

id

データを読み込むセッションの id。

戻り値

読み込んだデータを常に文字列で返します。何も読まなかった場合は false を返さなければなりません。 この値は、PHP の内部で処理されるものであることに注意しましょう。

add a note add a note

User Contributed Notes 1 note

up
2
andrey at puhovsky dot com
2 years ago
Please note that you have to return false only for PHP 8+.

For the older versions you have to return an empty string, otherwise you will get an error 'Warning: session_start(): Failed to read session data: user (path: 127.0.0.1:9999)'
To Top