facut pana la video 7
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
namespace app\core;
|
||||
|
||||
class Session{
|
||||
protected const FLASH_KEY = 'flash_messages';
|
||||
public function __construct(){
|
||||
session_start();
|
||||
$flashMessages = $_SESSION[self::FLASH_KEY] ?? [];
|
||||
foreach($flashMessages as $key => &$flashMessage){
|
||||
$flashMessage['remove'] = 'true';
|
||||
}
|
||||
|
||||
$_SESSION[self::FLASH_KEY] = $flashMessages;
|
||||
}
|
||||
|
||||
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] ?? false;
|
||||
}
|
||||
|
||||
public function remove($key){
|
||||
unset($_SESSION[$key]);
|
||||
}
|
||||
|
||||
public function __destruct(){
|
||||
$flashMessages = $_SESSION[self::FLASH_KEY] ?? [];
|
||||
foreach($flashMessages as $key => &$flashMessage){
|
||||
if($flashMessage['remove']){
|
||||
unset($flashMessages[$key]);
|
||||
}
|
||||
}
|
||||
|
||||
$_SESSION[self::FLASH_KEY] = $flashMessages;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user