Seite 1 von 1

Entwickler Dokumentation und Hilfreiche Tools für Entwickler

Verfasst: 12.08.2015 00:24
von gn#36
Die Einstiegshürde für die Entwicklung phpBB Erweiterungen ist hoch, da es sich nicht mehr um (beliebige) Änderungen am Quellcode handelt sondern die Erweiterungen einer vordefinierten Struktur folgen müssen, damit sie funktionieren.

Ein erster Einstieg in die Entwicklung findest du in unserer Knowledgebase: Knowledge Base - Eigene phpBB Erweiterungen erstellen

Inzwischen gibt es daneben sowohl für den Einstieg als auch als Referenz während der Entwicklung einige nützliche Tools, welche wir in diesem Thema sammeln möchten. Die Tools werden hierbei in Kategorien eingeteilt und mit einer kurzen Beschreibung versehen, so dass hoffentlich alle Entwickler die jeweils für sie besten Tools schnell finden und einsetzen können. Falls euch noch mehr phpBB spezifische oder sonstige sehr wichtige Tools einfallen freuen wir uns über einen Hinweis.

phpBB.com Entwickler Dokumentation
Das allgemein wohl nützlichste Tool ist die phpBB Development Documentation (englisch), wo die Entwickler auf phpBB.com einen großen Teil der Dokumentation zusammengetragen haben und das auch weiter tun wollen. Hier findet sich beispielsweise ein größerer Abschnitt über die Entwicklung von Erweiterungen (englisch), in dem sich auch diverse ausführliche Tutorials zu einzelnen Aspekten von Extensions finden.

Nützliche Extensions
Es gibt eine Reihe von phpBB Erweiterungen, die euch bei der Entwicklung helfen können:
  • Debug Tools
    Fügt ein paar nützliche Konsolebefehle hinzu, beispielsweise um Teile des Caches auszulesen oder das Routing zu debuggen.
  • Web Profiler Extension
    Profiling und Debugging mit Hilfe des Symfony profilers.
  • Quickly reenable extensions
    Erlaubt das schnelle Deaktivieren und direkt anschließende Aktivieren von Erweiterungen ohne nervige Zwischenklicks.
  • Cron Status
    Zeigt den Zustand diverser Cronjobs an, sofern diese bestimmten Mustern folgen. Fehler in Cronjobs lassen sich so leichter finden.
  • phpBB Ext Skeleton
    Erstellt schnell und Einfach ein Grundgerüst für phpBB Erweiterungen, das als Basis für neue Erweiterungen dienen kann.
Sonstige phpBB spezifische Tools und Hilfen
  • Quickinstall
    Schnell eine komplett neue Kopie von phpBB installieren um hierin sauber testen zu können. Falls man mal das Entwicklungsboard zerstört kann man hiermit schnell ein neues installieren.
  • Extension Prevalidator (EPV)
    Nützlich zum finden einfacher Fehler in der Extension. Wenn ein Github Repository existiert kann man den EPV direkt von der verlinkten Webseite aus ausführen. Ansonsten ist auch ein Download möglich.
  • phpBB Cross Referenz
    Neben den Dateien auf der eigenen Festplatte kann es hilfreich sein eine Code Doku mit zur Definition verlinkten Funktionsbezeichnungen zu verwenden. Diese wird hier von uns auf phpBB.de bereitgestellt
  • Liste aller phpBB DB-Tabellen inklusive Kurzbeschreibung
  • Liste von phpBB Events
    Umfangreiche Auflistung von phpBB Events inklusive übergebener Parameter.
  • Deutschsprachiges Tutorial zur Extension Entwicklung
    Dave hat eine eingängige und einfache Anleitung zum Erstellen von Extensions auf Deutsch geschrieben.
Allgemeine Entwickler Tools
  • Entwicklungsumgebungen / IDE für PHP
    • Eclipse: PHP Development Tools (PDT)
      Schwergewichtige Entwicklungsumgebung mit sofortigem Syntax Check, Intelligenter Auto-Completion und vielen weiteren nützlichen Features.
    • Aptana Studio
      Ähnlicher Funktionsumfang wie Eclipse PDT da der PHP Teil in älteren Versionen die PDT genutzt hat, auch als Eclipse Plugin verfügbar.
    • Netbeans
    • PHPStorm (kostenpflichtig)
  • Editoren
    • Notepad++
      Einfacher Text Editor mit Syntax-Highlighting, Code Folding für diverse Sprachen, Regulären Ausdrücken in der Suchen/Ersetzen Funktion und einigen nützlichen Zusatzfeatures wie Macros.
    • PS-Pad
      Ein ebenfalls auf Webdesign zugeschnittener Texteditor. Unterstützt Syntax Highlighting, Makros, direkten FTP Upload (mit integriertem FTP Client) und vieles mehr.
    • komodo Edit
      Editor mit Syntax Highlighting für diverse Sprachen der ähnlich wie Notepad++ ein paar nützliche Zusatzfeatures beherrscht.
    • vim / emacs
      Die üblichen Verdächtigen der Konsole Editoren. Nützlich bei der direkten Dateibearbeitung auf einem Server mit Shellzugriff, aber steile Lernkurve bei der Verwendung.
  • Lokale Webserver
    • XAMPP
      Beinhaltet Apache und Mysql mit jeweils recht neuen PHP Versionen. Enthält außerdem phpmyadmin für die Datenbankverwaltung. Die Software ist für die Verwendung durch Entwickler vorkonfiguriert und verwendet beispielsweise standardmäßig kein Mysql Root Passwort um die Datenbankverwaltung zu erleichtern (dementsprechend in der Standardkonfiguration nicht für den Live-Betrieb zu empfehlen).
    • Auflistung weiterer Möglichkeiten für lokale Webserver
  • Git Tools
    • Git-SCM
      Git Download für mehr oder weniger beliebige Plattformen, verlinkt außerdem weitere Tools und Doku.
    • Msys-Git
      Git Konsole für Windows. Wird von Tortoise-Git benötigt.
    • Tortoise Git
      Windows Explorer Integration für Git. Stellt die meisten wichtigen Funktionen im Kontextmenü des Explorer bereit.
    • Github for Windows
      Github client für Windows.
    • Git Doku
      Ausführliche Git Dokumentation auf http://www.git-scm.com
  • Sonstiges
    • Winmerge
      Hilfreich zum Vergleichen von Dateien oder ganzen Verzeichnissen.
    • Meld
      Visuelles Diff und Merge Tool; File- und Verzeichnisvergleich; Syntax Highlighting; Unterstützung diverser VCS (u.a. Git, SVN)
  • PHP Tools
    • Composer und Packagist
      Paketverwaltung für PHP Software. Lässt sich nutzen, um externe PHP Bibliotheken automatisch zu installieren und zu aktualisieren und verträgt sich mit dem phpBB Extension System (die Abhängigkeiten der Extension können in die composer.json der Extension eingetragen werden). Über Packagist lassen sich auch Extensions selbst in phpBB als Abhängigkeiten definieren und so automatisch installieren und aktualisieren. Beispiel einer Extension mit Abhängigkeit Zugehörige composer.json.