for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types = 1);
/**
* Date: 06.04.17
* Time: 15:04
*
* @author : Korotkov Danila <[email protected]>
* @copyright Copyright (c) 2016, Korotkov Danila
* @license http://www.gnu.org/licenses/gpl.html GNU GPLv3.0
*/
namespace Rudra;
* Class ContainerSessionTrait
* @package Rudra
trait ContainerSessionTrait
{
* @param string $key
* @param string|null $subKey
* @return mixed
public function getSession(string $key, string $subKey = null)
return ($subKey === null) ? $_SESSION[$key] : $_SESSION[$key][$subKey];
}
* @param $value
public function setSession(string $key, $value, string $subKey = null): void
if (empty($subKey)) {
$_SESSION[$key] = $value;
} else {
if ($subKey == 'increment') {
$_SESSION[$key][] = $value;
$_SESSION[$key][$subKey] = $value;
* @param string $subKey
* @return bool
public function hasSession(string $key, string $subKey = null): bool
return empty($subKey) ? isset($_SESSION[$key]) : isset($_SESSION[$key][$subKey]);
public function unsetSession(string $key, string $subKey = null): void
unset($_SESSION[$key]);
unset($_SESSION[$key][$subKey]);
* @codeCoverageIgnore
public function startSession(): void
session_start();
public function stopSession(): void
session_destroy();
public function clearSession(): void
$_SESSION = [];