First Implementation

This commit is contained in:
2026-05-26 22:59:48 +02:00
parent 4d4b8aeb99
commit a946cee891
4 changed files with 63 additions and 20 deletions
+35 -12
View File
@@ -2,39 +2,62 @@
class UserDAO {
private static array $users = [
[
"email" => "test@test.de",
"username" => "test",
"password" => "1234"
]
];
private string $file = "data/users.json";
private function loadUsers() {
if (!file_exists($this->file)) {
return [];
}
$json = file_get_contents($this->file);
$users = json_decode($json, true);
return is_array($users) ? $users : [];
}
private function saveUsers($users) {
file_put_contents(
$this->file,
json_encode($users, JSON_PRETTY_PRINT)
);
}
public function findUser($email) {
foreach (self::$users as $user) {
$users = $this->loadUsers();
foreach ($users as $user) {
if ($user["email"] === $email) {
return $user;
}
}
return null;
}
public function addUser($email, $username, $password) {
self::$users[] = [
$users = $this->loadUsers();
$users[] = [
"email" => $email,
"username" => $username,
"password" => $password
];
$this->saveUsers($users);
}
public function deleteUser($email) {
foreach (self::$users as $i => $user) {
$users = $this->loadUsers();
foreach ($users as $i => $user) {
if ($user["email"] === $email) {
unset(self::$users[$i]);
self::$users = array_values(self::$users);
unset($users[$i]);
$users = array_values($users);
$this->saveUsers($users);
return true;
}
}
return false;
}
}