tas2580
Blog über Webentwicklung

phpBB Extension - Bevor man beginnt

Bevor man beginnt eine Extension zu entwickeln sollte man sich darauf vorbereiten da man viele Aufgaben mit den richtigen Tools deutlich leichter erledigen kann. Wer anfängt mit dem standard Windows Editor in seinem richtigen Forum rumzubasteln wird schnell auf Probleme stoßen.

Der richtige Editor

Welchen Editor man einsetzt ist Geschmacksache, da hat jeder so seine Vorlieben. Am besten man verwendet den Editor mit dem man schon Erfahrung hat und den man am besten kennt. Allerdings sollte der Editor einige Funktionen unterstützen die einem das Code schreiben erleichtern. Wichtig ist das der Editor UTF-8 unterstützt da es sonst zu Fehlern im Forum kommt. Auch eine Highlighting Funktion halte ich für sehr wichtig da es das lesen von Code deutlich erleichtert.
Wer mit einem einfachen Editor zufrieden ist kann Notepad++ benutzen, das ist ein einfacher Editor der die wichtigsten Funktionen unterstützt und den meisten Anfängern erst mal genügen dürfte. Wer es etwas komfortabler haben möchte kann auch eine ganze IDE verwenden, hier kann ich Netbeans empfehlen. Wer bereit ist Geld für den Editor auszugeben kann sich auch mal PhpStorm anschauen.

Das Testforum

Da es beim Entwickeln von Extensions öfter mal zu Fehlern kommt die unter Umständen das komplette Forum zerstören sollte man sich auf jeden Fall ein Testforum einrichten. Ob man das Forum lokal auf seinem Rechner laufen lässt oder ein zweites Forum auf seinem Webspace installiert ist eigentlich egal. Wer es richtig komfortabel haben möchte kann sich auch einen Testserver für so etwas in sein Netzwerk zuhause stellen um mit mehreren Rechnern entwickeln zu können und das auch wenn das Internet mal ausfällt. Auf so einem Testserver kann man auch recht komfortables Unit Testing installieren, aber das ist dann eher was für Fortgeschrittene Entwickler.
In dem Testforum sollte der Debug Modus aktiviert werden damit man gleich auf Fehler im Programmcode hingewiesen wird. Das erleichtert einem das finden von Fehlern erheblich und umgeht das man komisches/ungewolltes verhalten hat weil man z.B. vergessen hat eine Variable zu deklarieren. Um den Debug Modus zu aktivieren öffnet man die config.php und entfernt dort die Kommentare am Ende der Datei.

@define('PHPBB_DISPLAY_LOAD_TIME', true);
@define('DEBUG', true);
@define('DEBUG_CONTAINER', true);

Außerdem sollte man im Testforum das Caching abschalten damit man nicht bei jeder Änderung am Style den Cache von Hand leeren muss. Dazu sucht man im Administrationsbereich unter Serverlast nach Rekompilieren veralteter Style-Komponenten und stellt es auf Ja.

Der phpBB Code

Beim entwickeln einer Extension wird man feststellen das man öfter mal Sachem in Kern Code von phpBB nachschauen muss, dazu kann man entweder die Dateien seiner phpBB installation durchsuchen oder man benutzt das von phpbb.de angebotene XRef. Dort kann man sich sehr bequem durch den Code klicken und sieht sofort in welcher Datei welche Funktion steht und welche Parameter sie erwartet. Oben rechts kann man auch nach einzelnen Funktionen und Klassen suchen.
Oft ist es auch nützlich wenn man sich andere Extensions anschaut da die oft ein Problem das man selber hat schon gelöst haben. Wenn man irgendwo nicht weiter kommt sollte man sich also eine Extension suchen die etwas ähnliches tut und sich anschauen wie dort das Problem gelöst wurde. Solange man nicht ganze Code Blöcke aus anderen Extensions kopiert spricht auch nichts dagegen wenn man sich die Lösung für sein Problem dort klaut. Wenn es sich nur um einzelne Zeilen handelt ist das meistens eh die einzig sinnvolle Lösung für das Problem.

Github

Sehr viele Extension Autoren benutzen Github um ihre Extensions dort zu veröffentlichen. Das ist auch ganz praktisch da man dort die Extension zum Download anbieten kann und eine Versionsverwaltung bekommt. Man kann also alle Änderungen am Code gut nachvollziehen. Außerdem haben so andere Leute die Möglichkeit Pull Requests zu schicken und so Fehler zu korrigieren oder weitere Sprachdateien hinzuzufügen.
Wer seinen Code mit einer IDE schreibt hat da oft schon eine Integration von Git und kann direkt aus dem Editor raus Code auf Github hoch laden. Wer mit einem einfachen Editor arbeitet kann Git trotzdem benutzen, dazu sollte man sich die Artikel Git, TortoiseGit und Github installieren und einrichten und Git Workflow in der phpBB.de Knowledge Base anschauen.

Wo bekomme ich Hilfe

Wenn man nicht weiß wie man ein bestimmtes Problem löst oder einen Fehler hat dessen Ursache man nicht findet kann man auf phpBB.de in extra dazu eingerichteten Forum nachfragen. Alternativ kann man auch in den phpBB Chat und dort schauen ob jemand anwesend ist der einem bei seinem Problem helfen kann. Wenn man möchte kann man auch das englische Forum auf phpBB.com benutzen.