Eine "Skeleton-Extension" erstellen
Verfasst: 23.04.2021 19:42
Um beim Erstellen von einer Extension nicht komplett bei Null anfangen zu müssen, hat phpBB.com eine "Skeleton"-Extension erstellt. Damit lässt sich das ein Grundgerüst erstellen, um schon einmal die wichtigsten Bestandteile zu haben.
Die Extension kann hier runtergeladen werden: https://www.phpbb.com/customise/db/offi ... _skeleton/ und sollte am besten in ein Testforum installiert werden.
Installiert werden muss sie, wie jede andere Extension:
Hier könnt ihr auswählen, aus welchen Einzelteilen eure Skeleton-Extension bestehen soll.
Eine ausführliche Dokumentation der Extension gibt es hier (englisch).
Die Extension kann hier runtergeladen werden: https://www.phpbb.com/customise/db/offi ... _skeleton/ und sollte am besten in ein Testforum installiert werden.
Installiert werden muss sie, wie jede andere Extension:
- zip-Datei entpacken
- den Inhalt nach
ext/
kopieren, so dass folgende Ordnerstruktur entsteht:\ext\phpbb\skeleton\composer.json
- Danach kann die Extension unter: Administrations-Bereich > Tab: Anpassen > Erweiterungen verwalten: aktivieren
- Vendor name: Das ist der Name des Autor der Extension z. B. "crizzo".
- Package name: Der bereinigte Name der Extension, z.B. "test". Er darf keine Leerzeichen enthalten und nur aus Zahlen und Kleinbuchstaben bestehen.
- Display name: Der Anzeigename der Extension z. B. im Admin-Bereich unter dem Tab "Anpassen".
- Description: Die Beschreibung der Extension, sollte in wenigen Sätzen die Funktion erklären.
- Version: Die Version z.B. 1.0.0.
- Date: Das Datum, standmäßig "heute".
- Author name: Der Name des Autors der Extension, es können auch mehrere Authoren angegeben werden. Mindestens ein Autor sollte als Ansprechpartner eingetragen werden.
- Author email: Eine E-Mail-Adresse zum Autor der Extension. Beachte, dass diese öffentlich ist und evtl. auch Spam anzieht.
- Author homepage: Falls ihr eine Website angeben wollte, die zusätzliche Information der Extension enthält oder auf der ihr Support anbietet.
- Author role: Dort kann bei mehreren Autoren eingetragen werden, welcher Rolle der Autor beim Erstellen übernommen hat z. B. "Developer" oder "Contributor".
- PHP requirement of the extension: Hier sollte die minimale (und maximale) PHP-Version angegeben werden, die deine Extension benötigt. Diese muss nicht zwingend mit der von phpBB übereinstimmen.
- Minimum phpBB requirement of the extension: Die mindest phpBB-Version, die deine Extension benötigt.
- Maximum phpBB requirement of the extension: Die höchste phpBB-Versionsnummer, die deine Extension unterstützt.
Hier könnt ihr auswählen, aus welchen Einzelteilen eure Skeleton-Extension bestehen soll.
- Datenbank:
- Database migration: Datenbankänderungen oder neue Einträge
- Back end (PHP):
- PHP event listeners: Damit können Inhalte verändert oder ergänzt werden.
- Service: Eine PHP-Klasse, die verschiedene Programmteile zur Verfügung stellt, die dann in Controllern, Event Listeners oder ACP/MCP/UCP-Modulen verwendet werden können.
- Controller (front page): Wenn eine Seite ergänzt werden soll, die der Benutzer aufrufen kann (z. B. Impressum)
- Extension base (ext.php): Die Datei ist nicht notwendig, kann aber genutzt werden um Code während der (De)Installation der Extension auszuführen.
- Front end (HTML)
- Style listeners: Um Inhalte am Style verändern zu können.
- Control Panels
- Administration control panel (ACP): Ergänzt Seiten im Administrations-Bereich im Tab Erweiterungen.
- Moderator control panel (MCP): Ergänzt Seiten im Moderations-Bereich.
- User control panel (UCP): Ergänzt Seiten im Persönlichem Bereich.
- Extras:
- Console command: Um CLI Befehle zu ergänzen.
- Cron task: Damit können Cron-Jobs vorbereitet werden, die wiederkehrende Aufgaben übernehmen z. B. regelmäßiges Löschen von Inhalten.
- Notifications: Wenn deine Extension bei verschiedenen Aktionen "Benachrichtigungen" versenden soll.
- Permissions: Sofern du Berechtigungen ergänzen möchtest, damit deine Extension oder Teile davon nur von bestimmten Benutzern verwende werden sollen.
- Testing & Deployment:
- Tests (PHPUnit): z.B. für Funktionstests.
- Github Actions CI configuration: z.B. für Code Überprüfungen
- Travis CI configuration: z.B. für Code Überprüfungen
- Build script (phing): Build scripte für die Extension.
Eine ausführliche Dokumentation der Extension gibt es hier (englisch).