Skip to content

2 Jahre PHP User Group Rheinhessen

Foto während des Treffens, aufgenommen von @casarock

Wir mir gerade auffällt, wird unsere User Group heute 2 Jahre alt - wenn man unser erstes Treffen als Geburtstag nimmt. Gestern trafen wir uns bereits zum 16. Mal und durften wieder einige neue Teilnehmer begrüßen.

Nach kurzem Hallo-Sagen und Aufwärmen standen zwei Vorträge auf dem Programm, die zwar nicht direkt PHP zum Thema hatten, aber für die anwesenden PHP-Entwickler dennoch interessant waren. Christian Münch zeigte, warum CoffeeScript die JavaScript-Programmierung für PHPler erträglicher machen kann. Die Beispiele mit Live-Coding waren sehr anschaulich.

Danach stellten wiederum Christian Münch und ich das Vagrant-Projekt und das Konfigurationsmanagement von Servern mittels Chef und Puppet vor. Auch hier gelang die Live-Demo, nämlich die automatisierte Basis-Installation eines Magento-Shops innerhalb einer Virtual Machine mit nur wenigen Befehlen. Dieses Thema wurde ausführlich diskutiert und sehr interessiert aufgenommen.

Ich denke, alle Teilnehmer hatten viel Spaß und konnten etwas von diesem Abend mitnehmen Das Feedback lässt zumindest darauf schließen:

Dieser Artikel ist ein Crosspost vom PHPUGRHH-Blog. Foto von @casarock.

Das war die PHP Unconference 2011 in Hamburg

Ein ElePHPant

Über zweitausend blaue und rote Punkte kleben auf DIN A4-Zetteln, auf denen Dinge stehen wie: "PHPUnit und DBUnit", "DDD", "Rhetorik als Vortrags-Algorithmus", "Profiling Web-Apps". Das sind die Titel einiger Vorträge, auch Sessions genannt, am zweiten Tag der PHP Unconference, die am Wochenende in Hamburg stattfand. Die Anzahl der Klebepunkte signalisiert, wie sehr sich die Teilnehmer für diese Themen interessieren. Die begehrtesten werden schließlich auf das Sessionboard verteilt, das wie eine Art Stundenplan aussieht. Um 11:30 Uhr beginnen die ersten Sessions, und das liebevoll "Badewanne" genannte Plenum im Geomatikum der Uni Hamburg leert sich. Die über 300 Teilnehmer eilen in die Hörsäle.

Unkonferenz - das bessere Konzept?

Zur PHP Unconference treffen sich seit fünf Jahren Anhänger der Programmiersprache PHP aus ganz Deutschland in Hamburg, darunter viele in der PHP-Community bekannte Entwickler und zum ersten Mal auch ich, nachdem ich im vergangenen Jahr leider verhindert war. Das Besondere an dieser "Un-Konferenz" ist, dass keiner der Vortragenden Geld bekommt, dass dementsprechend die Teilnahmegebühr sehr gering ausfällt - und dass über die Themen mit bunten Klebepunkten abgestimmt wird. Über das inhaltliche Programm wird spontan vor Ort entschieden. Und dennoch muss sich diese aus der Entwicklergemeinschaft hervorgegangene Veranstaltung qualitativ nicht hinter kommerziellen Konferenzen verstecken.

Im Gegenteil: Viele halten die ungezwungene Atmosphäre für fruchtbarer. Sie führen auch über abseitigere Themen intensive Diskussionen, stellen brandaktuelle Software vor oder küren, frei nach einer populären Fernsehshow, den aktuellen PHPopstar. Es geht also nicht immer bierernst zu auf einer Unkonferenz. Dennoch ist der Fortbildungseffekt riesig - genau wie bei Barcamps, die ganz ähnlich nach dem Unkonferenz-Prinzip funktionieren.

Das liegt unter anderem auch daran, dass Vorträge nur selten im Frontalunterrichts-Stil gehalten werden; Fragen, Zwischenrufe und Diskussionsbeiträge sind ausdrücklich erwünscht. Manchmal führt das eine Session in eine völlig andere Richtung als vorgesehen, aber das nehmen die Teilnehmer in der Regel gern in Kauf. Denn so zeigt sich, bezüglich welcher Themen noch Diskussionsbedarf besteht. Und diese Diskussionen wurden zum Teil noch beim PHProst, dem gemütlichen Beisammensein im urigen Hamburger Gröninger-Keller, weitergeführt.

"Das war die PHP Unconference 2011 in Hamburg" vollständig lesen

PHP Unconference Hamburg 2011

Logo der PHP Unconference 2011Dieses Wochenende findet in Hamburg wieder die PHP Unconference statt, und nachdem es letztes Jahr nicht geklappt hat, werde ich diesmal einer von 300 Teilnehmern sein. Nach den PHP-Sessions neulich auf der FrOSCOn und den regelmäßigen Treffen unserer PHPUG steht damit ein weiteres PHP-Highlight an.

Das auch die Barcamps definierende Unkonferenz-Format wird mit Sicherheit viele spannende Sessions ermöglichen, da sich außerdem ein Großteil des Who-is-Who der deutschen PHP-Szene angekündigt hat. Da wird es auch zwischen den Sessions zu interessanten Gesprächen kommen.

Ich freue mich auch darauf, mal wieder Hamburg zu sehen. Mein letzter Besuch ist schon eine ganze Weile her. Die Warmup-Party der PHP Unconference werde ich wohl ausfallen lassen, denn da steigt das älteste Fußball-Derby Deutschlands. Sollte ich Langeweile haben: Eine Liste von außergewöhnlichen Geocaches liegt bereit ;-) Ansonsten bin ich - am Freitagnachmittag oder am Montag - gern für ein persönliches Treffen bei einem Kaffee zu haben. Twittert mich doch einfach kurz an.

PHP-CodeSniffer in Netbeans integrieren

Hohe Code-Qualität ist nicht nur in großen Projekten wichtig, an denen mehrere Programmierer sitzen. Auch im Kleinen hilft die Einhaltung formaler Richtlinien (Coding Standards), Fehler zu vermeiden und den Quellcode wartbar zu halten. Mittlerweile existieren auch für PHP diverse Tools, die den Programmierer beim Coden unterstützen. Zwei davon, Code-Sniffer und Mess Detector, bemängeln automatisch anhand definierter Regeln auch kleine Unachtsamkeiten wie fehlende Kommentare, ungenutzte Variablen oder übermäßig komplizierten Code. Diese lassen sich recht einfach auch in IDEs wie Netbeans integrieren, wie ich im folgenden kurz zeige.

PEAR-Pakete downloaden

Voraussetzung sind die PEAR-Pakete PHP_CodeSniffer, das von Greg Sherwood betreut wird, und PHP_MD (PHP Mess Detector von Manuel Pichler). Die Links verweisen auf Installationsanleitungen. In der Regel lassen sich die Pakete mit PEAR-Bordmitteln installieren.

Unter Linux werden unter /usr/bin die beiden Batchfiles phpcs bzw. phpmd installiert, die zum Ausführen der Tools verwendet werden sollten, weil sie Prüfungen vornehmen und benötigte Klassen importieren.

Netbeans-Plugin installieren

Bei der Suche nach entsprechenden CodeSniffer-Plugins für Netbeans habe ich zwei Projekte gefunden. Das Plugin von Benjamin Eberlei wurde im April 2010 zum letzten Mal aktualisiert und hat bei mir nicht richtig funktioniert (YMMV). Das PHP CodeSniffer Netbeans Plugin (Download für Netbeans 6.9.1) lief auf Anhieb und hat auch die Unterstützung für PHP_MD bereits integriert. Zur Installation ladet ihr die *.nbm-Datei herunter und installiert das Plugin in Netbeans unter "Extras → Plugins → Heruntergeladen → Plugins hinzufügen …". Gegebenenfalls ist jetzt ein Neustart von Netbeans nötig.

Tools konfigurieren

Unter "Extras → Optionen → PHP → phpMD bzw. phpCodeSniffer" können nun globale Einstellungen vorgenommen werden. In der Regel müssen zunächst die jeweiligen Batch-Dateien (/usr/bin/phpmd und /usr/bin/phpcs) angegeben werden. Außerdem kann ein Coding-Standard, z.B. "Zend" eingetragen werden (mehr Infos dazu in der Dokumentation). Über die Schaltfläche "Test Settings" lässt sich überprüfen, dass die Batch-Dateien korrekt angegeben wurden.

Wird jetzt eine PHP-Datei im Netbeans-Editor geöffnet, parsen die Tools den Dateiinhalt und geben ihre Ergebnisse im "Aufgaben"-Fenster aus. Dort lassen sich die Resultate auch gruppieren und filtern. Diese variieren natürlich je nach Coding Standard und werden jeweils beim Speichern einer Datei neu ermittelt.

Projektspezifische Einstellungen

Wer möchte, kann sich auch eigene, so genannte "Sniffs" programmieren, also eigene Validierungsregeln aufstellen. Sollen diese allerdings nicht global für alle Projekte gelten, sondern nur für einzelne, ist etwas Handarbeit gefragt. Im Netbeans-Projektverzeichnis, also im Verzeichnis nbprojects, muss eine Datei codesniffer.properties angelegt werden, die projektspezifische Settings beinhaltet. Dort können verschiedene Optionen gesetzt werden, allerdings bin ich mir nicht sicher, ob alle möglichen Kommandozeilenargumente auch dort gesetzt werden können. Soll ein eigenes Ruleset definiert werden kann man darauf verweisen:

phpcs.standard=/pfad/zum/eigenen/ruleset.xml

Es sind im Endeffekt nur kleine Helferlein, aber sie erledigen nützliche Arbeit im Hintergrund. Und sie machen sich nach einer Weile fast selbst überflüssig, wenn man als Programmierer darauf achtet, nicht immer wieder die gleichen Fehler "vorgehalten" zu bekommen.

10. Treffen der PHPUG Rheinhessen

Zum zehnten Mal traf sich am Dienstag die PHP User Group Rheinhessen. Ein kleines Jubiläum also, und dass wir auch diesmal wieder ein paar "Neulinge" begrüßen durften, hat uns sehr gefreut. Denn neue Teilnehmer bereichern unsere Treffen ungemein, indem sie neue Perspektiven aufzeigen, neue Themen ansprechen und neue Ideen mitbringen.

Ich habe den Eindruck, unsere kleine PHPUG hat sich mittlerweile etabliert und macht allen Beteiligten viel Spaß. Nichtsdestotrotz wäre es schön, wenn noch mehr Menschen von der PHPUG in Mainz erfahren würden. Vielleicht gibt es auch Interessierte, die sich nicht überwinden können oder nicht trauen, einfach mal reinzuschauen. Bei uns wird jeder freundlich empfangen :-)

Jetzt aber noch ein kurzer Rückblick auf unser Treffen: Zum Thema "PDF-Generierung mit PHP: fpdf und pdflib" konnte uns Stefan Kilp aus eigener Erfahrung einiges berichten. Als Fazit bleibt unter anderem festzuhalten, dass die bekannten frei verfügbaren Bibliotheken alle ihre Grenzen haben, die kommerzielle PDFlib dagegen eine sehr umfangreiche PDF-Unterstützung bietet. Das Thema bot so viel Diskussionsstoff, dass wir es für den Abend bei einem Vortrag beließen. So blieb im Anschluss mehr Zeit über dies, jenes und anderes zu klönen. Zum Beispiel über Ingos Mikrokopter.

Wenn alles klappt, wird er uns beim nächsten Treffen (am 19.04.) noch mehr über Mikrokopter und das Landkamp 2011 erzählen. Ist ja nicht so, dass wir nur PHP im Kopf hätten ;-)