MB Dev .tech
Registrieren Login

PHP + DB Praxis · Struktur ohne Framework

← Zurück zu PHP + DB Praxis

Viele Einsteiger starten ohne Framework – und das ist völlig okay. Wichtig ist nur: Wenn ein Projekt wächst, wird „alles in einer Datei“ schnell unübersichtlich. Deshalb lohnt es sich, früh eine klare Struktur zu lernen.

Merke
Struktur ist kein „Overengineering“

Eine gute Struktur macht es leichter, Fehler zu finden, neue Features einzubauen und später auf andere Systeme (oder Frameworks) umzusteigen.

1) Warum Struktur wichtig ist (Spaghetti-Code vermeiden)

Wenn HTML, SQL und PHP-Logik wild gemischt in einer Datei stehen, passiert oft:

  • Du findest Dinge nicht mehr wieder.
  • Du kopierst Code und bekommst doppelte Logik.
  • Kleine Änderungen erzeugen neue Bugs an anderer Stelle.
  • Tests und Wiederverwendung sind fast unmöglich.
Achtung
Copy-Paste ist der Anfang von Chaos

Einmal kopieren geht noch. Nach dem fünften Mal weißt du nicht mehr, welche Kopie „die richtige“ ist.

2) Eine sinnvolle Minimal-Struktur (ohne Framework)

Eine einfache, aber bewährte Struktur trennt: öffentliche Seiten, Logik und Templates. Beispiel:

Ordnerstruktur (Beispiel)

/public
  index.php
  tasks.php
  task_edit.php

/app
  bootstrap.php
  db.php
  functions.php

/templates
  layout_header.php
  layout_footer.php
  tasks_list.php
  task_form.php

Idee dahinter:

  • /public: Dateien, die der Browser aufrufen darf
  • /app: PHP-Helfer, Konfiguration, Datenbank-Verbindung
  • /templates: HTML-Teile, die du wiederverwenden willst
Tipp
Templates sind nur „HTML mit Platzhaltern“

Du musst dafür kein Framework kennen. Oft reicht schon: require und Variablen sauber übergeben.

3) Ein gemeinsamer Einstiegspunkt (bootstrap)

In jedem Projekt brauchst du Dinge wie: Fehleranzeige (im Dev), Zeitzone, Autoload, DB-Verbindung. Wenn du das in jeder Datei wiederholst, wird es schnell redundant.

Deshalb: eine Datei, die immer eingebunden wird: bootstrap.php.

bootstrap.php (Beispiel-Idee)

// bootstrap.php (nur Konzept, kein fertiges Produkt)
declare(strict_types=1);

date_default_timezone_set('Europe/Berlin');

// hier z.B.:
// - config laden
// - DB Verbindung erstellen ($pdo)
// - helper functions laden
Merke
Jede Seite startet mit „Setup“

Und genau dafür ist bootstrap da: einmal zentral definieren, überall nutzen.

4) Seiten-Datei: Was gehört da rein?

Eine typische Seiten-Datei (z.B. tasks.php) hat oft drei Abschnitte:

  1. Setup (bootstrap laden)
  2. Logik (Daten holen, Form verarbeiten)
  3. Rendern (HTML ausgeben)
Seiten-Datei (Konzept)

require __DIR__ . '/../app/bootstrap.php';

// 1) Logik: Daten holen
$tasks = ...;

// 2) Rendern
require __DIR__ . '/../templates/layout_header.php';
require __DIR__ . '/../templates/tasks_list.php';
require __DIR__ . '/../templates/layout_footer.php';
Tipp
Kurze Dateien gewinnen langfristig

Wenn eine Datei „zu lang“ wird, ist das oft ein Zeichen, dass du Logik auslagern oder Templates splitten solltest.

5) Wiederverwendbare Funktionen: wann sinnvoll?

Ohne Framework ist es völlig normal, ein paar Hilfsfunktionen zu haben: z.B. „Text escapen“, „Redirect“, „Fehlermeldung anzeigen“.

Wichtig ist nur: Nicht sofort einen „Monster-Helper“ bauen. Starte mit wenigen klaren Funktionen, die du wirklich mehrfach brauchst.

Achtung
Zu früh abstrahieren macht es schwerer

Wenn du noch nicht weißt, wie sich dein Projekt entwickelt, kann „zu viel Architektur“ dich eher ausbremsen.

Fazit

Du brauchst kein Framework, um strukturiert zu arbeiten. Mit einer sauberen Ordnerstruktur, einem bootstrap und klaren Templates kannst du sehr solide Projekte bauen – und hast später einen einfachen Einstieg, falls du doch auf ein Framework wechseln möchtest.

Merke
Struktur wächst mit dem Projekt

Starte klein, aber sauber – und verbessere, wenn du merkst, wo es weh tut.