PHP Testaufgabe

Start-Paket: aufgabenverwaltung.zip

Gegeben sind die folgende Dateien:


SQL Dump

Importiere die folgende MySQL Datenbank (database.sql) mit Testdaten

CREATE DATABASE IF NOT EXISTS task_db;
USE task_db;

CREATE TABLE IF NOT EXISTS tasks (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    description TEXT,
    status ENUM('open', 'completed') DEFAULT 'open',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

INSERT INTO tasks (title, description, status) VALUES
    ('Testaufgabe 1', 'Beschreibung 1', 'open'),
    ('Testaufgabe 2', 'Beschreibung 2', 'completed');


Aufgaben

Eine Web-Anwendung Aufgabenverwaltung (TaskList):

Erweitere index.php und programmiere Database.php und Tasks.php passend aus,
damit die Aufgabenstellungen erfĂĽllt werden.


1. index.php

Steuert den generellen Ablauf der Anwendung. Alle Anfragen werden entgegengenommen, ausgewertet / gefiltert (gĂĽltige und ungĂĽltige) und passend verarbeitet.

Folgendes URL Pattern wird verwendet:

http://localhost:8000/          → Liste
http://localhost:8000/add       → neue Aufgabe
http://localhost:8000/edit/1    → bearbeiten
http://localhost:8000/toggle/1  → Status ändern
http://localhost:8000/delete/1  → löschen


2. Database.php

Beinhaltet die Verbindungsdaten zur Datenbank und regelt die Datenbankverbindung.

Methoden die enthalten sein sollen:


3. Tasks.php

Die Tasks-Klasse verarbeitet Daten ĂĽber die Database-Klasse.

Methoden die für die Anwendung bzw. unterschiedlichen Operationen benötigt werden: