48 lines
1.1 KiB
PHP
48 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace app\core;
|
|
|
|
class Session{
|
|
protected const FLASH_KEY = 'flash_messages';
|
|
|
|
public function __construct(){
|
|
session_start();
|
|
foreach($_SESSION[self::FLASH_KEY] as $key => &$flashMessage){
|
|
$flashMessage['remove'] = 'true';
|
|
}
|
|
}
|
|
|
|
public function setFlash($key, $message){
|
|
$_SESSION[self::FLASH_KEY][$key] = [
|
|
'value' => $message,
|
|
'remove' => 'false'
|
|
];
|
|
}
|
|
|
|
public function getFlash($key){
|
|
return $_SESSION[self::FLASH_KEY][$key]['value'] ?? false;
|
|
}
|
|
|
|
public function set($key, $value){
|
|
$_SESSION[$key] = $value;
|
|
}
|
|
|
|
public function get($key){
|
|
return $_SESSION[$key];
|
|
}
|
|
|
|
public function remove($key){
|
|
unset($_SESSION[$key]);
|
|
}
|
|
|
|
public function __destruct(){
|
|
$flashMessages = $_SESSION[self::FLASH_KEY] ?? [];
|
|
foreach($flashMessages as $key => &$flashMessage){
|
|
if($flashMessage['remove'] == 'true'){
|
|
unset($flashMessages[$key]);
|
|
}
|
|
}
|
|
|
|
$_SESSION[self::FLASH_KEY] = $flashMessages;
|
|
}
|
|
} |