2026-06-22 12:57:53 +02:00
2026-06-02 18:27:50 +02:00
2026-06-02 15:42:16 +02:00
2026-06-02 15:39:13 +02:00
2026-06-22 12:57:53 +02:00
2026-05-31 12:23:34 +02:00

🏗️ Backend MVC Framework - Die Entwickler-Bibel

Dieses Framework ist eine performante, leichtgewichtige und modulare PHP-Architektur für professionelle Backends und Dashboards.


🏛️ 1. Kern-Architektur & Lifecycle

Der Weg einer Anfrage (Request Lifecycle)

  1. Entry Point: Alle Requests werden zentral über WEBROOT/index.php (Front Controller) verarbeitet.
  2. Bootstrap: Initialisierung von Session, Autoloader und globalem Error-Handling (Logger).
  3. Routing: Der Router prüft die Service-ID aus GET['service'] gegen die routes.php.
  4. Security: Ausführung von Middlewares (auth, admin).
  5. Controller: Instanziierung des Ziel-Controllers und Ausführung der Logik.
  6. Layout & Views: Zusammensetzung der UI mittels Block-System und Finalisierung des HTMLs.

Verzeichnisstruktur

  • /WEBROOT: Öffentlich erreichbarer Ordner (index.php, APIs, Assets).
  • /src/MVC/Core: Die Framework-Engine (Controller, Model, Router, View, Layout).
  • /src/MVC/Classes: Mächtige Helper-Klassen (Auth, Form, Storage, Mailer, Logger).
  • /src/MVC/Controller: Deine Business-Logik.
  • /src/MVC/Model: Daten-Abstraktion (CRUD).
  • /src/MVC/View: HTML-Templates.

🚦 2. Routing & Sicherheit

Routen definieren (src/config/routes.php)

$router->add('service_id', ControllerClass, 'method', ['middleware']);

Middlewares

  • auth: Erfordert Login.
  • admin: Erfordert Admin-Status.

💾 3. Datenbank-Layer (The Power-Engine)

databaseMethods.php (Low-Level)

Bietet sichere Wrapper für mysqli Prepared Statements:

  • DatabaseShow(): Flexibles SELECT.
  • DatabaseInsert(): Einfaches Einfügen von Daten.
  • DatabaseShowWithFK(): Löst Fremdschlüssel automatisch mit Caching auf.

Core\Model (High-Level)

Objektorientierte Abstraktion für sauberen Code:

class Product extends Model {
    protected static $table = "Products";
}
// Nutzung
$all = Product::all();
$one = Product::find(1);

🛠️ 4. CLI Werkzeuge (make.php)

Beschleunige die Entwicklung durch automatische Code-Generierung:

  • Modul generieren: php make.php module News -l "📰 News" -a (Erstellt Controller, View, Route und Nav-Eintrag)

  • Model generieren: php make.php model Orders ID,USER_ID,TOTAL (Erstellt Model-Klasse mit Spalten-Dokumentation)


🧱 5. UI & Layout System

Das Framework nutzt ein modulares Block-System:

  1. Blöcke setzen: In der index.php oder im Controller via $layout->setBlock('name', 'inhalt').
  2. Blöcke ausgeben: Im Layout-Template via <?= $this->getBlock('name') ?>.

🛡️ 6. Best Practices für Entwickler

  1. SQL-Injection: Nutze ausschließlich die Model-Methoden oder databaseMethods.php.
  2. XSS-Schutz: Benutzereingaben in Views immer mit htmlspecialchars() maskieren.
  3. Logik-Trennung: Schwere Logik gehört in Models oder Services, Controller bleiben schlank.
  4. Debugging: Prüfe die logs/error.log für detaillierte Stacktraces bei Fehlern.

Für eine detaillierte Dokumentation starte das Framework und rufe den Service docs auf.

S
Description
No description provided
Readme
214 KiB
0 Stars 1 Watchers 0 Forks
Languages
PHP 99.9%