BASE . LOG, 'file_id' => $LOG_FILE_ID, // add file date 'print_file_date' => true, // set debug and print flags 'debug_all' => $DEBUG_ALL, 'echo_all' => $ECHO_ALL ?? false, 'print_all' => $PRINT_ALL, ]); use CoreLibs\Create\Session; $session = new Session(); $PAGE_NAME = 'TEST CLASS: SESSION'; print ""; print "" . $PAGE_NAME . ""; print ""; print '
Class Test Master
'; print '

' . $PAGE_NAME . '

'; $session_name = 'class-test-session'; $var = 'foo'; $value = 'bar'; foreach (['123', '123-123', '123abc'] as $_session_name) { print "[UNSET] Session Name valid for " . $_session_name . ": " . ($session->checkValidSessionName($_session_name) ? 'Valid' : 'Invalid') . "
"; } echo "Global session name: " . ($GLOBALS['SET_SESSION_NAME'] ?? '-') . "
"; print "[UNSET] Current session id: " . $session->getSessionId() . "
"; print "[UNSET] Current session name: " . $session->getSessionName() . "
"; print "[UNSET] Current session active: " . ($session->checkActiveSession() ? 'Yes' : 'No') . "
"; print "[UNSET] Current session status: " . getSessionStatusString($session->getSessionStatus()) . "
"; if (isset($_SESSION)) { print "[UNSET] _SESSION is: set
"; } else { print "[UNSET] _SESSION is: not set
"; } # print "[UNSET] To set session name valid: " . ($session->checkValidSessionName($session_name) ? 'Valid' : 'Invalid') . "
"; if (false === ($session_id = $session->startSession($session_name))) { print "[FAILED] Session start failed: " . $session->getErrorStr() . "
"; } else { print "[SET] Current session id: " . $session_id . "
"; } // set again if (false === ($session_id = $session->startSession($session_name))) { print "[2 FAILED] Session start failed: " . $session->getErrorStr() . "
"; } else { print "[2 SET] Current session id: " . $session_id . "
"; } print "[SET] Current session id: " . $session->getSessionId() . "
"; print "[SET] Current session name: " . $session->getSessionName() . "
"; print "[SET] Current session active: " . ($session->checkActiveSession() ? 'Yes' : 'No') . "
"; print "[SET] Current session status: " . getSessionStatusString($session->getSessionStatus()) . "
"; if (isset($_SESSION)) { print "[SET] _SESSION is: set
"; } else { print "[SET] _SESSION is: not set
"; } if (!isset($_SESSION['counter'])) { $_SESSION['counter'] = 0; } $_SESSION['counter']++; print "[READ] A " . $var . ": " . ($_SESSION[$var] ?? '{UNSET}') . "
"; $_SESSION[$var] = $value; print "[READ] B " . $var . ": " . ($_SESSION[$var] ?? '{UNSET}') . "
"; print "[READ] Confirm " . $var . " is " . $value . ": " . (($_SESSION[$var] ?? '') == $value ? 'Matching' : 'Not matching') . "
"; // test set wrappers methods $session->setS('setwrap', 'YES, method set _SESSION var'); print "[READ WRAP] A setwrap: " . $session->getS('setwrap') . "
"; print "[READ WRAP] Isset: " . ($session->issetS('setwrap') ? 'Yes' : 'No') . "
"; $session->unsetS('setwrap'); print "[READ WRAP] unset setwrap: " . $session->getS('setwrap') . "
"; print "[READ WRAP] unset Isset: " . ($session->issetS('setwrap') ? 'Yes' : 'No') . "
"; // test __get/__set $session->setwrap = 'YES, magic set _SESSION var'; /** @phpstan-ignore-line GET/SETTER */ print "[READ MAGIC] A setwrap: " . ($session->setwrap ?? '') . "
"; print "[READ MAGIC] Isset: " . (isset($session->setwrap) ? 'Yes' : 'No') . "
"; unset($session->setwrap); print "[READ MAGIC] unset setwrap: " . ($session->setwrap ?? '') . "
"; print "[READ MAGIC] unset Isset: " . (isset($session->setwrap) ? 'Yes' : 'No') . "
"; // differnt session name $session_name = 'class-test-session-ALT'; if (false === ($session_id = $session->startSession($session_name))) { print "[3 FAILED] Session start failed: " . $session->getErrorStr() . "
"; } else { print "[3 SET] Current session id: " . $session_id . "
"; } print "[SET AGAIN] Current session id: " . $session->getSessionId() . "
"; print "[ALL SESSION]: " . \CoreLibs\Debug\Support::printAr($_SESSION) . "
"; // close session $session->writeClose(); // will never be written $_SESSION['will_never_be_written'] = 'empty'; // open again $session_name = 'class-test-session'; if (false === ($session_id = $session->startSession($session_name))) { print "[4 FAILED] Session start failed: " . $session->getErrorStr() . "
"; } else { print "[4 SET] Current session id: " . $session_id . "
"; } print "[START AGAIN] Current session id: " . $session->getSessionId() . "
"; $_SESSION['will_be_written_again'] = 'Full'; // close session $session->writeClose(); // invalid $session_name = '123'; if (false === ($session_id = $session->startSession($session_name))) { print "[5 FAILED] Session start failed: " . $session->getErrorStr() . "
"; } else { print "[5 SET] Current session id: " . $session_id . "
"; } print "[BAD NAME] Current session id: " . $session->getSessionId() . "
"; print "[BAD NAME] Current session name: " . $session->getSessionName() . "
"; print "[BAD NAME] Current session active: " . ($session->checkActiveSession() ? 'Yes' : 'No') . "
"; print "[BAD NAME] Current session status: " . getSessionStatusString($session->getSessionStatus()) . "
"; // error message print $log->printErrorMsg(); print ""; // __END__