refactoring

This commit is contained in:
NOrtmann1
2026-05-26 18:06:44 +02:00
parent c7f279b7e9
commit 8762bc1b07
6 changed files with 17 additions and 30 deletions
+2 -2
View File
@@ -3,8 +3,8 @@
Inhalt: Formular für die Erstellung eines neuen Beitrags
-->
<?php
include_once 'php/model/DatabaseDAO.php';
include_once 'php/model/FileDatabase.php';
include_once 'php/model/ArticleManagerDAO.php';
include_once 'php/model/ArticleManager.php';
if(isset($_POST['post-title']) && isset($_POST['post-content']) && isset($_POST['post-category'])) {
+1 -1
View File
@@ -2,7 +2,7 @@
try {
//$db = Database::getInstance();
$db = new FileDatabase();
$db = new ArticleManager();
$author = "max.mustermann@web.de"; // wird später aus session bezogen.
$db->newArticle($_POST['post-title'], $_POST['post-content'], $author);
} catch (PDOException $e) {
+1 -1
View File
@@ -1,5 +1,5 @@
<?php
require_once 'php/model/FileDatabase.php';
require_once 'php/model/ArticleManager.php';
require_once 'php/model/Article.php';
@@ -1,19 +1,19 @@
<?php
require_once 'DatabaseDAO.php';
require_once 'ArticleManagerDAO.php';
/*
* Klasse: Eine lokale Lösung der DatenbankDAO.
* schreibt zunächst Daten lokal in das Verzeichnis und kann diese wieder auslesen.
*
* @author Niklas Ortmann
*/
class FileDatabase implements DatabaseDAO {
class ArticleManager implements ArticleManagerDAO {
/*
* Gibt die Datenbank-Instanz zurück.
*/
public static function getInstance()
{
if (self::$instance == null) {
self::$instance = new FileDatabase();
self::$instance = new ArticleManager();
}
return self::$instance;
@@ -29,12 +29,13 @@ class FileDatabase implements DatabaseDAO {
}
public function newArticle($title, $content, $author) {
public function newArticle($title, $content, $author, $category) {
$newData = array(
"title" => $title,
"content" => $content,
"author" => $author,
"email" => $_POST["Email"],
"category" => $category,
//"tags" => isset($_POST["tags"]) ? $_POST["tags"] : '', TODO: Später hinzufügen
"date" => date("d.m.Y, H:i")
);
$newData = base64_encode(serialize($newData));
@@ -5,18 +5,20 @@
* @author Niklas Ortmann
*/
interface DatabaseDAO
interface ArticleManagerDAO
{
/*
* Ein angemeldeter Nutzer erstellt einen neuen Beitrag.
* $title Titel des Beitrags
* $content Der Inhalt des Beitrags
* $author dem Author des des Beitrags (NID oder email)
* $title Titel des Beitrags
* $content Der Inhalt des Beitrags
* $author dem Author des des Beitrags (NID oder email)
* $category Kategorie des Beitrags
* $tags optionale Schlagworte für eine bessere Suche
*
* Mögliche Exceptions:
* TODO Fehlerbeschreibung hinzufügen
*/
public function newArticle($title, $content, $author);
public function newArticle($title, $content, $author, $category);
/*
* Ein angemeldeter Nutzer bearbeitet einen Beitrag.
-16
View File
@@ -1,16 +0,0 @@
<?php
/*
* Die Klasse dient als Brücke zwischen der Implementierung des DatenbankDAO und der Geschäftslogik.
* Hier kann später die FileDatabase durch die SQL_Database ausgetauscht werden.
* @author Niklas Ortmann
*/
class Database
{
/*
* Gibt die Database-Instanz zurück.
*/
public static function getInstance()
{
return FileDatabase::getInstance(); // TODO: wird später durch echte DB ausgetauscht.
}
}