Plugin Entwicklung 101 π οΈ
Willkommen in der Entwickler-Dokumentation. Dieses Plugin dient als lebendes Beispiel, wie du eigene Erweiterungen fΓΌr das System schreibst.
Ordnerstruktur
plugins/
βββ DeinPluginName/
β βββ Controllers/ // Deine PHP Logik
β βββ views/ // Deine HTML Templates
β βββ Plugin.php // Hauptklasse (Einstiegspunkt)
β βββ plugin.json // Metadaten (Version, Autor)
βββ DeinPluginName/
β βββ Controllers/ // Deine PHP Logik
β βββ views/ // Deine HTML Templates
β βββ Plugin.php // Hauptklasse (Einstiegspunkt)
β βββ plugin.json // Metadaten (Version, Autor)
Routing & Hooks
In der Plugin.php definierst du, unter welcher URL dein Code erreichbar ist.
public function registerRoutes(Router $router): void { // URL registrieren $router->get('/meine-seite', 'Plugins\MeinPlugin\Controllers\MyController@index', 'mein.index'); }
Datenbank
Du kannst Tabellen automatisch erstellen lassen, indem du eine ensureTables() Methode in deinen Controller einbaust.
$this->db()->query("CREATE TABLE IF NOT EXISTS plugin_table (...)"); // Daten abrufen $rows = $this->db()->fetchAll("SELECT * FROM plugin_table");
Views rendern
return $this->view('plugins/DeinPlugin/views/index', [
'titel' => 'Hallo Welt'
], 'layouts/app');
'titel' => 'Hallo Welt'
], 'layouts/app');