Skip to content

Commit a5b2c56

Browse files
committed
refactor: remove $_SESSION
It is a bad practice to depend on global variables.
1 parent 971966b commit a5b2c56

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

src/Authentication/Authenticators/Session.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -655,15 +655,17 @@ public function logout(): bool
655655

656656
// Destroy the session data - but ensure a session is still
657657
// available for flash messages, etc.
658-
if (isset($_SESSION)) {
659-
foreach (array_keys($_SESSION) as $key) {
660-
$_SESSION[$key] = null;
661-
unset($_SESSION[$key]);
658+
/** @var \CodeIgniter\Session\Session $session */
659+
$session = session();
660+
$sessionData = $session->get();
661+
if (isset($sessionData)) {
662+
foreach (array_keys($sessionData) as $key) {
663+
$session->remove($key);
662664
}
663665
}
664666

665667
// Regenerate the session ID for a touch of added safety.
666-
session()->regenerate(true);
668+
$session->regenerate(true);
667669

668670
// Take care of any remember-me functionality
669671
$this->rememberModel->purgeRememberTokens($this->user);

0 commit comments

Comments
 (0)