Skip to content

My PHP Benelux 2013

I suppose this post has to be in English because the PHP Benelux Conference 2013 was an international conference with participants from 17 countries. It took place in Edegem near Antwerp last weekend. Friday and Saturday that is.

Closing Time

Day 1

After four hours on the road, I arrived at the venue on Friday shortly after noon. The keynote by The Grumpy Programmer Chris Hartjes was scheduled for 13:20 so I had enough time to register and chat to some people. Most of them were from Belgium and the Netherlands, but I also met some German and Swiss guys there. The keynote was fun and addressed some important issues concerning software quality and security.

Next up was Igor Wieder's session on Silex Anatomy and Symfony Components, and it was a solid session although the focus was not on Silex so much, but on his microframework YOLO. Like Silex, it's based on the Symfony Components, but does some things differently.

I then skipped the next session slot and checked in at my hotel. Fortunately, I made it back in time for Kris Buytaert's session 7 tools for your DevOps stack. I really think DevOps is a great movement and would love to use more tools like those he talked about. But there's definitely a learning curve ...

Sadly, I missed the so-called "Social", the social event that evening, because I felt tired and slightly ill, so I preferred to go to bed early and collect my strength for ...

"My PHP Benelux 2013" vollständig lesen

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.