abschluss

This commit is contained in:
2025-06-20 07:55:37 +00:00
parent 497e6a0bdf
commit 6c2e71dd53
34 changed files with 1370 additions and 382 deletions

46
app/Model/UserModel.php Normal file
View File

@ -0,0 +1,46 @@
<?php
namespace Blog\Model;
use Blog\Entity\User;
use Blog\Database\Database;
use PDO;
/**
* Modellklasse für Benutzer-bezogene Datenbankoperationen.
*/
class UserModel {
/**
* @var PDO Die Datenbankverbindung.
*/
private $db;
/**
* Konstruktor. Stellt die Datenbankverbindung her.
*/
public function __construct() {
$this->db = Database::getConnection();
}
/**
* Holt einen Benutzer anhand des Benutzernamens.
*
* @param string $username Der Benutzername.
* @return User|null Das User-Objekt oder null, falls nicht gefunden.
*/
public function getUserByUsername(string $username):?User {
$stmt = $this->db->prepare(<<<SQL
SELECT id, username, password
FROM users
WHERE username = :username
LIMIT 1
SQL);
$stmt->bindParam(':username', $username);
$stmt->execute();
$row = $stmt->fetchObject();
if(!$row)
return null;
return new User($row->id, $row->username, $row->password);
}
}