home
/
zktecojo
/
public_html
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
➕ New
📤 Upload
✎ Editing:
DatabaseSessionHandler.php
← Back
<?php namespace Illuminate\Session; use Illuminate\Database\Connection; class DatabaseSessionHandler implements \SessionHandlerInterface, ExistenceAwareInterface { /** * The database connection instance. * * @var \Illuminate\Database\Connection */ protected $connection; /** * The name of the session table. * * @var string */ protected $table; /** * The existence state of the session. * * @var bool */ protected $exists; /** * Create a new database session handler instance. * * @param \Illuminate\Database\Connection $connection * @param string $table * @return void */ public function __construct(Connection $connection, $table) { $this->table = $table; $this->connection = $connection; } /** * {@inheritDoc} */ public function open($savePath, $sessionName) { return true; } /** * {@inheritDoc} */ public function close() { return true; } /** * {@inheritDoc} */ public function read($sessionId) { $session = (object) $this->getQuery()->find($sessionId); if (isset($session->payload)) { $this->exists = true; return base64_decode($session->payload); } } /** * {@inheritDoc} */ public function write($sessionId, $data) { if ($this->exists) { $this->getQuery()->where('id', $sessionId)->update([ 'payload' => base64_encode($data), 'last_activity' => time(), ]); } else { $this->getQuery()->insert([ 'id' => $sessionId, 'payload' => base64_encode($data), 'last_activity' => time(), ]); } $this->exists = true; } /** * {@inheritDoc} */ public function destroy($sessionId) { $this->getQuery()->where('id', $sessionId)->delete(); } /** * {@inheritDoc} */ public function gc($lifetime) { $this->getQuery()->where('last_activity', '<=', time() - $lifetime)->delete(); } /** * Get a fresh query builder instance for the table. * * @return \Illuminate\Database\Query\Builder */ protected function getQuery() { return $this->connection->table($this->table); } /** * Set the existence state for the session. * * @param bool $value * @return $this */ public function setExists($value) { $this->exists = $value; return $this; } }
💾 Save Changes
Cancel
📤 Upload File
×
Select File
Upload
Cancel
➕ Create New
×
Type
📄 File
📁 Folder
Name
Create
Cancel
✎ Rename Item
×
Current Name
New Name
Rename
Cancel
🔐 Change Permissions
×
Target File
Permission (e.g., 0755, 0644)
0755
0644
0777
Apply
Cancel