initial commit
This commit is contained in:
179
example-repository-usage.php
Normal file
179
example-repository-usage.php
Normal file
@@ -0,0 +1,179 @@
|
||||
<?php
|
||||
// example-repository-usage.php - Beispiele für die Verwendung des UserRepository
|
||||
|
||||
require_once 'bootstrap.php';
|
||||
|
||||
use Entity\User;
|
||||
use Repository\UserRepository;
|
||||
|
||||
/** @var UserRepository $userRepo */
|
||||
$userRepo = $entityManager->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);
|
||||
Reference in New Issue
Block a user