CascadiaPHP 2024

SessionHandlerInterface::read

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

SessionHandlerInterface::readLê os dados de sessão

Descrição

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

Lê os dados de sessão do armazenamento de sessão e retorna os resultados. Chamada logo depois que a sessão inicia ou quando session_start() é chamada. Note que antes desse método ser chamado, o método SessionHandlerInterface::open() é invocado.

Este método é chamado pelo próprio PHP quando uma sessão é iniciada. Este método deve recuperar os dados de sessão do armazenamento de sessão relacionados ao ID de sessão fornecido. A string retornada por este método deve estar no mesmo formato de serialização de quando ela foi originalmente passada para SessionHandlerInterface::write(). Se a informação não for encontrada, retorna false

Os dados retornados por este método serão decodificados internamente pelo PHP usando o método de deserialização especificado em session.serialize_handler. Os dados resultantes serão usados para preencher a super global $_SESSION.

Note que o esquema de serialização não é o mesmo que unserialize() e pode ser acessado por session_decode().

Parâmetros

id

O id da sessão.

Valor Retornado

Retorna uma string codificada dos dados lidos. Se nada foi lido, então deve retornar false. Note que este valor é retornado internamente para o PHP para processamento.

Veja Também

add a note

User Contributed Notes 1 note

up
8
Anonymous
1 year ago
It appears that, if this function returns false, it causes "session_start(): Failed to read session data: user" to be emitted in the error log. This also seems to have a cascading effect that causes the write() method not to be called.

So, returning false appears to only be for indicating an error state. To indicate that there is no existing session, but that it is okay to create one, it appears that returning an empty string is the way to go.
To Top