Session Dizisine Yeni Eleman Ekleme
Merhaba.
Session dizisi oluştuktan sonra bu diziye yeni bir eleman ekleme işlemini nasıl yapabilirim?
Örneğin aşağıdaki gibi bir session dizisi oluşmuş olsun. Sonra bu diziye email elemanını nasıl ekleyebiliriz?
[User] => Array
(
[user_id] => 1
[user_name] => Coder
)
Kodlarım
<?php
class Session
{
private static $SessionStart = false;
public static function SessionStart()
{
if(self::$SessionStart == false){
session_start();
self::$SessionStart = true;
}
}
public static function Exists($name)
{
if(isset($_SESSION[$name])){
return true;
}else{
return false;
}
}
public static function CreateSession($name, $data)
{
if(!self::Exists($name)){
$_SESSION[$name] = true;
if( is_array($data)){
$_SESSION[$name] = [];
foreach ($data as $key => $value){
if($_SESSION[$name][!isset($key)]){
$_SESSION[$name][$key] = $value;
}else{
$_SESSION[$name][$key] = $value;
}
}
}else{
$_SESSION[$name] = $data;
}
}
}
}
----------------------------------
// Kullanım
Session::SessionStart();
Session::CreateSession("User",[
"user_id" => 1,
"user_name" => "Coder"
]);
Session::CreateSession("Merhaba","Merhaba dünya");
<?php
class Session
{
private static $SessionStart = false;
public static function sessionStart()
{
if(!self::$SessionStart){
session_start();
self::$SessionStart = true;
}
}
public static function exist($name): bool
{
if(isset($_SESSION[$name]))
return true;
return false;
}
public static function createSession(string $name, $data): bool
{
if(!self::exist($name)) {
$_SESSION[$name] = $data;
return true;
}
else return false;
}
public static function updateSession(string $name, string $key, $data): bool
{
if (self::exist($name))
{
if (is_array($_SESSION[$name]))
{
$_SESSION[$name][$key] = $data;
return true;
} else return false;
} else return false;
}
public static function removeSession(string $name, $multidimensional = false, $key = ''): bool
{
if (exist($name))
{
if (!$multidimensional) {
unset($_SESSION[$name]);
return true;
} else {
if (is_array($_SESSION[$name])) {
if (array_key_exists($key, $_SESSION[$name])) {
unset($_SESSION[$name][$key]);
} else return false;
} else return false;
}
} else return false;
}
}
Not: Sadece iki boyutlu dizide çalışır