getRepository(User::class); // Beispiel 1: Neuen User erstellen und speichern function createUser($userRepo, $username, $email, $password) { $user = new User(); $user->setUsername($username); $user->setEmail($email); $user->setPassword(password_hash($password, PASSWORD_DEFAULT)); $userRepo->save($user); echo "User erstellt mit ID: " . $user->getId() . "\n"; return $user; } // Beispiel 2: User nach ID finden function getUserById($userRepo, $id) { $user = $userRepo->findById($id); if ($user) { echo "User gefunden: " . $user->getUsername() . "\n"; } else { echo "User nicht gefunden\n"; } return $user; } // Beispiel 3: User nach Username finden function getUserByUsername($userRepo, $username) { $user = $userRepo->findByUsername($username); if ($user) { echo "User gefunden: " . $user->getEmail() . "\n"; } else { echo "User nicht gefunden\n"; } return $user; } // Beispiel 4: User nach Email finden function getUserByEmail($userRepo, $email) { $user = $userRepo->findByEmail($email); if ($user) { echo "User gefunden: " . $user->getUsername() . "\n"; } else { echo "User nicht gefunden\n"; } return $user; } // Beispiel 5: Alle User abrufen function getAllUsers($userRepo) { $users = $userRepo->findAllUsers(); echo "Anzahl User: " . count($users) . "\n"; foreach ($users as $user) { echo "- " . $user->getUsername() . " (" . $user->getEmail() . ")\n"; } return $users; } // Beispiel 6: Prüfen ob Username existiert function checkUsernameExists($userRepo, $username) { $exists = $userRepo->usernameExists($username); echo "Username '$username' existiert: " . ($exists ? 'Ja' : 'Nein') . "\n"; return $exists; } // Beispiel 7: Prüfen ob Email existiert function checkEmailExists($userRepo, $email) { $exists = $userRepo->emailExists($email); echo "Email '$email' existiert: " . ($exists ? 'Ja' : 'Nein') . "\n"; return $exists; } // Beispiel 8: User suchen (LIKE) function searchUsers($userRepo, $search) { $users = $userRepo->searchByUsername($search); echo "Gefundene User für '$search': " . count($users) . "\n"; foreach ($users as $user) { echo "- " . $user->getUsername() . "\n"; } return $users; } // Beispiel 9: User zählen function countAllUsers($userRepo) { $count = $userRepo->countUsers(); echo "Gesamtanzahl User: $count\n"; return $count; } // Beispiel 10: User nach Erstellungsdatum finden function getRecentUsers($userRepo, $daysAgo = 7) { $date = new DateTime(); $date->modify("-$daysAgo days"); $users = $userRepo->findByCreatedAfter($date); echo "User erstellt in den letzten $daysAgo Tagen: " . count($users) . "\n"; foreach ($users as $user) { echo "- " . $user->getUsername() . " (" . $user->getCreatedAt()->format('Y-m-d H:i:s') . ")\n"; } return $users; } // Beispiel 11: User aktualisieren function updateUser($userRepo, $id, $newEmail) { $user = $userRepo->findById($id); if ($user) { $user->setEmail($newEmail); $userRepo->save($user); echo "User aktualisiert\n"; } else { echo "User nicht gefunden\n"; } } // Beispiel 12: User löschen function deleteUser($userRepo, $id) { $user = $userRepo->findById($id); if ($user) { $userRepo->delete($user); echo "User gelöscht\n"; } else { echo "User nicht gefunden\n"; } } // Verwendungsbeispiele (auskommentiert): // createUser($userRepo, 'john_doe', 'john@example.com', 'secret123'); // getUserById($userRepo, 1); // getUserByUsername($userRepo, 'john_doe'); // getUserByEmail($userRepo, 'john@example.com'); // getAllUsers($userRepo); // checkUsernameExists($userRepo, 'john_doe'); // checkEmailExists($userRepo, 'john@example.com'); // searchUsers($userRepo, 'john'); // countAllUsers($userRepo); // getRecentUsers($userRepo, 7); // updateUser($userRepo, 1, 'newemail@example.com'); // deleteUser($userRepo, 1);