From f61d0ea8fe74b57614b5ff90b087ac0bb867f6c8 Mon Sep 17 00:00:00 2001 From: Bruno Eckhardt Date: Thu, 21 May 2026 13:05:59 +0200 Subject: [PATCH] create view and controller. USAGE php create_module.php NAME --- create_module.php | 90 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 create_module.php diff --git a/create_module.php b/create_module.php new file mode 100644 index 0000000..6690962 --- /dev/null +++ b/create_module.php @@ -0,0 +1,90 @@ + + */ + +if (php_sapi_name() !== 'cli') { + die("Dieses Script kann nur über die Kommandozeile ausgeführt werden.\n"); +} + +$name = $argv[1] ?? null; + +if (!$name) { + echo "Bitte gib einen Namen für das Modul an (z.B. mein_projekt): "; + $handle = fopen("php://stdin", "r"); + $name = trim(fgets($handle)); + fclose($handle); +} + +if (!$name) { + die("Fehler: Kein Name angegeben.\n"); +} + +// Namen formatieren +$key = strtolower(str_replace(' ', '_', $name)); +$className = str_replace(' ', '', ucwords(str_replace('_', ' ', $key))); +$controllerFile = __DIR__ . "/WEBROOT/src/MVC/Controller/{$className}Controller.php"; +$viewFile = __DIR__ . "/WEBROOT/src/MVC/View/{$key}.php"; + +// 1. Controller erstellen +$controllerContent = <<render('{$key}', [ + 'title' => '{$className} Modul', + 'message' => 'Willkommen in deinem neuen Modul {$className}!' + ]); + } +} +PHP; + +if (!file_exists($controllerFile)) { + file_put_contents($controllerFile, $controllerContent); + echo "✅ Controller erstellt: WEBROOT/src/MVC/Controller/{$className}Controller.php\n"; +} else { + echo "⚠️ Controller existiert bereits.\n"; +} + +// 2. View erstellen +$viewContent = << +
+

+

Hier kannst du nun dein Projekt aufbauen.

+
+ + +HTML; + +if (!file_exists($viewFile)) { + file_put_contents($viewFile, $viewContent); + echo "✅ View erstellt: WEBROOT/src/MVC/View/{$key}.php\n"; +} else { + echo "⚠️ View existiert bereits.\n"; +} + +// 3. Anleitung ausgeben +echo "\n--- NÄCHSTE SCHRITTE ---\n"; +echo "1. Registriere den Controller in WEBROOT/index.php im \$controllers Array:\n"; +echo " '{$key}' => \\MVC\\Controller\\{$className}Controller::class,\n\n"; +echo "2. Füge den Service in der Seitenverwaltung (Admin) oder in config.php hinzu:\n"; +echo " ID: {$key}\n"; +echo " Name: " . ucfirst($name) . "\n"; +echo "------------------------\n";