Session
ThreadFlow uses sessions to store data and state between requests.
Drivers
ThreadFlow supports the following session drivers:
Array
With the array
driver, session data will be stored in memory for the current request. Usually, this is fine for testing purposes.
Cache
With the cache
driver, session data will be stored in the cache. Laravel provides a variety of cache drivers, so make sure you have configured one before using it.
Eloquent
With the eloquent
driver, session data will be stored in the database.
You need to run the php artisan threadflow:session-table
command to create the necessary table.
Managing Session Data
You can manage session data using the session
method:
set(string $key, mixed $data): void
You can store data in the session using the set
method and retrieve it later:
public function answer(IncomingMessageInterface $message)
{
$this->session()
->set('lastMessageText', $message->getText());
}
get(string $key, mixed $default = null): mixed
You can retrieve data from the session using the get
method:
public function show()
{
$lastMessageText = $this->session()
->get('lastMessageText', 'No messages yet');
}
all(): array
You can retrieve all data from the session using the all
method:
public function show()
{
$allData = $this->session()
->all();
}
delete(string $key): void
You can remove data from the session using the delete
method:
public function answer(IncomingMessageInterface $message)
{
$this->session()
->delete('lastMessageText');
}