From 655db436162d1dd4bd13598aa2692e040f6c19b8 Mon Sep 17 00:00:00 2001 From: Bruno Eckhardt Date: Fri, 22 May 2026 14:52:31 +0200 Subject: [PATCH] add docs --- init.php | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 117 insertions(+), 4 deletions(-) diff --git a/init.php b/init.php index 5140027..ca8abbe 100644 --- a/init.php +++ b/init.php @@ -930,6 +930,22 @@ class AuthController extends Controller { } PHP; +$files['WEBROOT/src/MVC/Controller/DocsController.php'] = <<<'PHP' +render('docs', [ + 'title' => '📚 System-Dokumentation' + ]); + } +} +PHP; + $files['WEBROOT/src/MVC/Controller/TestController.php'] = <<<'PHP' Dashboard

Willkommen in de $files['WEBROOT/src/MVC/View/test1.php'] = "

Service 1

"; $files['WEBROOT/src/MVC/View/test2.php'] = "

System Check

"; +$files['WEBROOT/src/MVC/View/docs.php'] = <<<'HTML' +
+

🏛️ Framework Architektur & Dokumentation

+ + + +
+

1. Einführung

+

Dieses Framework basiert auf dem Model-View-Controller (MVC) Entwurfsmuster und nutzt einen Front Controller (index.php). Alle Anfragen werden zentral verarbeitet, was globale Middleware (wie Authentifizierung) und ein einheitliches Layout ermöglicht.

+
+ +
+

2. Datei-Referenz (Deep Dive)

+

Framework Core

+
    +
  • Router.php: Verwaltet die Routen. Unterstützt Middlewares. Das Dispatching erfolgt über den service Parameter in der URL.
  • +
  • Controller.php: Basisklasse für alle Controller. Bietet render() für Views und json() für API-Responses.
  • +
  • Model.php: Abstrakte Basis für Datenbank-Entitäten. Kapselt die databaseMethods.php in ein objektorientiertes Interface.
  • +
  • View.php: Behandelt das Extrahieren von Daten in HTML-Templates.
  • +
+

Konfiguration

+
    +
  • env.ini: Speichert Datenbank-Zugangsdaten für dev und live Umgebungen.
  • +
  • autoloader.php: Registriert einen PSR-4 ähnlichen Autoloader für den MVC\ Namespace.
  • +
+
+ +
+

3. API-System

+

APIs liegen im Verzeichnis WEBROOT/api/v1/. Sie nutzen die ApiController-Klasse.

+
+// Beispiel: WEBROOT/api/v1/get.php
+use MVC\Classes\Api;
+use MVC\Controller\ApiController;
+
+Api::jsonResponse((new ApiController())->get());
+        
+
+ +
+

4. Datenbank & Models

+

Das Framework nutzt mysqli mit Prepared Statements für maximale Sicherheit.

+

databaseMethods.php (Die Power-Tools)

+
    +
  • DatabaseShow($table, $columns, $where, ...$values)
  • +
  • DatabaseInsert($table, $columns, ...$values)
  • +
  • DatabaseUpdate($table, $set, $where, ...$values)
  • +
  • DatabaseDelete($table, $where, ...$values)
  • +
+
+ +
+

5. Helper Klassen (MVC\Classes)

+
    +
  • Request: Zugriff auf method(), queryParams(), headers().
  • +
  • Client: Ermittelt ip(), userAgent(), country().
  • +
  • Cookie: Interface zum set(), read(), Delete() von Cookies.
  • +
+
+ +
+

6. CLI-Generatoren

+

php create_module.php [Name] - Erstellt Controller & View.

+

php create_model.php [Tabelle] [Spalten] - Erstellt ein Model.

+
+ +
+

7. Best Practices

+

Naming: Controller immer mit Controller-Suffix. Models im Singular.

+

Security: Nutze ['auth'] Middleware konsequent für alle internen Seiten.

+
+
+ + +HTML; + $files['WEBROOT/src/MVC/View/login.php'] = <<<'HTML'