refactoring

This commit is contained in:
2026-06-01 22:48:39 +02:00
parent 21bdb0d66d
commit a329137de2
2 changed files with 0 additions and 0 deletions
-64
View File
@@ -1,64 +0,0 @@
<?php
require_once "UserDAOInterface.php";
class LocalUserDAO implements UserDAOInterface {
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) {
$users = $this->loadUsers();
foreach ($users as $user) {
if ($user["email"] === $email) {
return $user;
}
}
return null;
}
public function addUser($email, $username, $password) {
$users = $this->loadUsers();
$users[] = [
"email" => $email,
"username" => $username,
"password" => $password
];
$this->saveUsers($users);
}
public function deleteUser($email) {
$users = $this->loadUsers();
foreach ($users as $i => $user) {
if ($user["email"] === $email) {
unset($users[$i]);
$users = array_values($users);
$this->saveUsers($users);
return true;
}
}
return false;
}
}
-36
View File
@@ -1,36 +0,0 @@
<?php
/**
* Interface für den Zugriff auf Benutzerdaten.
*
* Definiert die Methoden, die jede UserDAO-Implementierung
* bereitstellen muss.
*/
interface UserDAOInterface {
/**
* Sucht einen Benutzer anhand seiner E-Mail-Adresse.
*
* @param string $email E-Mail-Adresse des gesuchten Benutzers
* @return array|null Benutzerdaten als Array oder null
*/
public function findUser($email);
/**
* Fügt einen neuen Benutzer hinzu.
*
* @param string $email E-Mail-Adresse des Benutzers
* @param string $username Benutzername des Benutzers
* @param string $password Passwort des Benutzers
* @return void
*/
public function addUser($email, $username, $password);
/**
* Löscht einen Benutzer anhand seiner E-Mail-Adresse.
*
* @param string $email E-Mail-Adresse des zu löschenden Benutzers
* @return bool true, wenn der Benutzer gelöscht wurde, sonst false
*/
public function deleteUser($email);
}