blog/app/Utils/authHelper.php
2025-03-07 10:04:42 +00:00

44 lines
990 B
PHP

<?php
namespace Blog\Utils;
use Blog\Model\userModel;
use Exception;
class AuthHelper {
private static ?UserModel $userModel = null;
public static function initialize(UserModel $userModel): void {
self::$userModel = $userModel;
}
public static function login(string $username, string $password): bool {
if(!self::$userModel)
throw new Exception("AuthHelper was not initialized. Please pass UserModel.");
$user = self::$userModel->getUserByUsername($username);
if(!$user || !password_verify($password, $user->getPassword())) {
return false;
}
$_SESSION['user'] = [
'id' => $user->getId(),
'username' => $user->getUsername()
];
return true;
}
public static function logout(): void {
session_unset();
session_destroy();
}
public static function isLoggedIn(): bool {
return isset($_SESSION['user']);
}
public static function getCurrentUser(): ?array {
return $_SESSION['user'] ?? null;
}
}