Archiv für die 'PHP' Kategorie

PHP Unconference ist vorbei

Dienstag, 15.09.2009

Bin zwar etwas spät daran. Aber die diesjährige und damit 3. PHP Unconference in Hamburg ist leider vorbei. Ich war sowohl am Samstag als auch am Sonntag dort (musste am Sonntag nur leider früher abhauen als geplant).

Was soll ich sagen? Die PHP Unconference war wieder eine super Sache. Viele nette Leute kennen gelernt. Viele nette Leute wieder getroffen. Interessante Sessions besucht. Interessante Gespräche außerhalb der Sessions geführt. Eine Session selber gehalten, die zu einer, wie ich finde, interessanten Diskussion geführt hat. Im Windkanal gewesen, um den Kopf wieder frei zu bekommen.

Und eine Tradition wurde auch wieder aufrecht erhalten. Meine Session, die ich anbiete, findet IMMER genau parallel zu einer anderen Session statt, die mich von allen am meisten interessiert. Das war letztes Jahr schon so und dieses Jahr eben wieder. Meine Framework Session fand nämlich parallel zur Zend_Tool von Benjamin statt. Da keine Rücksicht auf Einzelschicksale genommen wird, habe ich mich natürlich kommentarlos gefügt ;-) Ob ich im nächsten Jahr keine Session anbiete, um diesem Problem aus dem Weg zu gehen, weiss ich nicht. Wahrscheinlich werde ich doch wieder eine anbieten. Ein wenig schade war auch, dass meine Sonntagssession, die Zend Framework Fragestunde, leider knapp im Stechen gegen die Asterix und Obelix Session verloren hat. Naja, dann eben nächstes Jahr.

Einziger Kritikpunkt: 1 Liter Kaltgetränke pro Person und Tag ist viiiiiieeeeel zu wenig. Am Samstag waren die Vorräte schon gegen 14/15 Uhr aufgebraucht. Solche Mengen können sich wohl nur Kaffeejunkies ausdenken ;-) Der gemeine Programmierer denkt doch viel und da braucht er mindestens 2 bis 3 Liter pro Tag. Und wenn er viel sabbelt (was ja der Sinn der PHP Unconference ist), dann braucht er noch mehr. Ansonsten gibt es aber nix zu meckern.

Ok, genauso im nächsten Jahr bitte weiter machen. Und nun gleich weiter lesen, was Nils so schreibt.

PHP Unconference geht los

Samstag, 12.09.2009

Bin nun da vor Ort auf der PHP Unconference und alles ist so schön gross und bunt. Hier fließen Milch und Honig und ich bin mitten drin. Wie aufregend ist das alles nur!

Habe gestern bis spät in die Nacht an einem kleinen Vortrag zu Auswahlkriterien für PHP Frameworks gebastelt, den ich heute anbieten möchte. Mal schauen, ob der auf Interesse stösst. War etwas spät geworden und heute morgen gings gleich früh los. Bin auch gespannt, ob und welche Sessions es zum Zend Framework geben wird. Vielleicht biete ich auch spontan etwas an.

Die Fahrt zur PHP Unconference war auch total aufregend. Ohne Auto hieß es Bahn fahren und das mit dem fiesen schweren 30 kg Paket, dass ich mit schleppen muss. Warum ich das mitschleppe? Da ist eine Überraschung drin für die Teilnehmer. Mehr wird nicht verraten!

Die Registrierung ging dank der Amiando Tickets sehr schnell. Dies war bei der 1. PHP Unconference vor 2 Jahren leider nicht anders! Super! Und es ist auch wieder für alles gesorgt! Sogar für das WLAN. Infos dazu im Blog.

Wer nicht dabei sein kann aber auch für alle, die dabei sind, werden das PHP Unconference Wiki sowie die Zeitpläne von Interesse sein! Übrigens der offizielle Hashtag ist #phpunconf also nehmt nix anderes! Der Twitterfeed wird sicher interessant. Abends geht es zum PHProst übrigens standesgemäß auf den Kiez. Wohin auch sonst?

Also lasset die PHP Unconference beginnen!

Zwei neue Artikel im PHP Magazin 5.2009

Freitag, 17.07.2009

Etwas verspätet möchte ich auf meine beiden neuen Artikel im PHP Magazin 5.2009 hinweisen.

Auf Seite 26 ist meine Zusammenfassung der Neuerungen im Zend Framework 1.8 erschienen. Ich gehe dort im Wesentlichen auf die neuen Komponenten Zend_Application, Zend_Tool, Zend_Loader_Autoloader und Zend_Navigation ein. Besonders Zend_Loader_Autoloader erfordert bei Projekten, die auf 1.7 und früher basieren, einige Anpassungen zum Autoloading der Frameworkdateien sowie von Models, Formularen, etc.

Zudem findet ihr ab Seite 49 den dritten Teil meiner kleinen Serie zur testgetriebenen Entwicklung mit PHPUnit und dem Zend Framework. In diesem letzten Teil gehe ich auf die testgetriebene Entwicklung von Views und Action-Controllern und erläutere auch, warum sich Zend_Test nicht so gut für die testgetriebene Entwicklung eignet, sondern eher für Integrationstest der MVC Komponenten einer Anwendung konzipiert wurde.

Über Feedback zu den Artikeln per E-Mail oder hier im Blog würde ich mich sehr freuen.

Zend Framework Buch, Releasezyklus, PHP Unconference, PHP Konferenz und PHP Magazin

Samstag, 14.03.2009

Da ich mich sehr lange hier nicht zu Wort gemeldet habe, möchte ich dies schnell nachholen. Ich war (wie die meisten wissen) in den letzten Monaten sehr beschäftigt und da kam das Bloggen etwas zu kurz. Mein Zend Framework Buch wird derzeit vom Verlag aufbereitet und gedruckt, so dass ich dort nur warten kann, bis es endlich erscheint. Die bisher auf deutsch und englisch erschienenen Bücher zum Zend Framework haben (teilweise für mich überraschend) unterschiedliches Feedback von den Lesern erhalten, weshalb ich schon sehr gespannt bin, wie es beim Leser ankommen wird. Übrigens hat die Website zum Buch nun auch ein Forum, das noch getestet werden muss.

Das Zend Framework hat (wie neulich schon mal erwähnt) mittlerweile einen sehr regelmäßigen Erscheinungszyklus angenommen. Derzeit gibt es alle 2 Wochen am Montag ein neues Mini-Release. Aktuell ist das Release 1.7.6, es wird aber schon an 1.7.7 gearbeitet. Da ich ein großer Freund von häufigen Releases bin, finde ich diese Entwicklung sehr gut und hoffe, dass dies in Zukunft dauerhaft beibehalten wird.

Seit einigen Tagen können sich alle Interessierten für die PHP Unconference 2009 in Hamburg anmelden. Sie findet am 12. und 13.9.2009 statt und es werden 180 Entwickler und PHP Enthusiasten erwartet. Beim Anmelden müsste ihr euch beeilen, denn aktuell sind schon über die Hälfte der Plätze weg. Die Kosten belaufen sich auf 25 Euro für beide Tage, was ein sehr fairer Preis ist. Hier gehts zur Anmeldung.

Etwas früher beginnt die Internationale PHP Konferenz in der Frühlingsversion. Die IPC 2009 Spring Edition findet vom 25. bis 27. Mai in Berlin statt und man kann sich bereits anmelden. Ich habe leider den Termin verpasst, um eine eigene Session zum Zend Framework einzureichen. Aber ich denke, dass es dennoch wieder spannend wird.

Und zu guter Letzt noch Infos zum PHP Magazin. In der aktuellen Ausgabe ist der erste Teil einer Serie von mir zum Thema testgetriebene Entwicklung erschienen. An dem zweiten Teil schreibe ich noch und freue mich natürlich über Feedback zum 1. Teil.

PHP Magazin 2/09 ist erschienen

Freitag, 16.01.2009

Heute landete die neue Ausgabe des PHP Magazins in meinem Briefkasten. Am Kiosk wird die Ausgabe 2/09 in den nächsten Tagen erscheinen, aber alle Abonnenten sollten sie auch schon erhalten haben. Enthalten ist dieses Mal auch wieder ein Artikel von mir, der sich der Zend_Search_Lucene Komponente aus dem Zend Framework widmet. Neben meinem Artikel gibt es auch einen weiteren zum Zend Framework, und zwar über den Einsatz von Zend_Dojo in einem Projekt.

Nach der Ausgabe ist vor der Ausgabe und so schreibe ich derzeit auch an meinem nächsten Artikel über testgetriebene Entwicklung mit dem Zend Framework. Ein spannendes Thema, das ich wohl in mindestens zwei Teile aufteilen muss.

PHP Magazin 1/09 ist erschienen (mit meinem Zend_Pdf Artikel) ;-)

Donnerstag, 13.11.2008

Ich habe die Ausgabe schon seit Montag auf dem Tisch, am Kiosk gibt es sie erst seit gestern: die neue Ausgabe 1/09 des PHP Magazins. Darin enthalten ist unter anderem auch ein Artikel über die Zend_Pdf Komponente aus dem Zend Framework, der aus meiner Feder stammt. Der Artikel enthält insgesamt 10 Beispiele für den Einsatz von Zend_Pdf, die Schritt für Schritt immer komplexer werden. Unter anderem wird das Umbrechen langer Texte sowie die Erstellung und Verwendung von PDF Vorlagen erläutert. Ich freue mich auch wie immer auf euer Feedback.

Ein weiterer Artikel in der selben Ausgabe stammt von Matthias und behandelt die Themen Authentifizierung und Autorisierung mit Zend_Auth und Zend_Acl. Habe mir den Artikel noch nicht durchgelesen, die Schaubilder machen aber einen sehr guten Eindruck. Damit lohnt die Ausgabe für zend Framework Nutzer gleich doppelt.

P.S. Der unermüdliche Nils hat die Ausgabe in seinem PHP Blog auch schon vorgestellt.

IPC: mein Fazit zur Internationalen PHP Konferenz 2008

Samstag, 01.11.2008

Seit gestern Abend ist sie vorbei die 14. Internationale PHP Konferenz in Mainz. Obwohl ich mich schon seit 1998/1999 mit PHP beschäftige, war dies meine erste PHP Konferenz und es wird sicherlich nicht die letzte bleiben. Mein Fazit ist durchweg positiv.

Ich war vom Dienstag bis Donnerstag vor Ort und habe insgesamt 11 Sessions und Keynotes besucht. Meine persönlichen Highlights waren die Sessions “Monitor your business“, “Search as a Service“, “Seven Steps to better PHP Code“, das “Speakerpanel” sowie die “K.I.S.S. (Keep It Simple, Stupid)” Keynote. Dies werden andere Teilnehmer vielleicht ganz anders sehen, aber das ist auch das tolle an der IPC. Es gibt Sessions zu so vielen verschiedenen Themen, das eigentlich für jeden etwas dabei ist.

Abseits der Sessions gab es mit dem verspäteten Oktoberfest und dem Casino Abend ausreichend Zeit, um abends beim Bier mit anderen PHP Entwicklern zu fachsimpeln und sich auszutauschen. Aber auch die vielen Pausen im Tagesablauf ließen genug Zeit für interessante Gespräche oder einen Besuch der Messestände. Die Verpflegung war meiner Meinung nach durchweg gut bis sehr gut und die vielen Helfer sorgten auch immer für ausreichend Kaffee und Kaltgetränke.

Ich habe viele neue Leute kennen gelernt, Blogger-Kollegen das erste Mal im realen Leben getroffen und viele alte Bekannte wieder getroffen. Mein einziger Kritikpunkt betrifft die teilweise sehr unfreundlichen Busfahrer in Mainz, aber dies liegt natürlich nicht in der Hand der Veranstalter. Es hat insgesamt sehr viel Spaß gemacht und ich werde nächstes Jahr sicher wieder dabei sein.

P.S.: Nils hat übrigens auch schon sein Fazit veröffentlicht.

IPC: Session “Zend Framework – Past, Present and the Future”

Samstag, 01.11.2008

Mit ein wenig Verspätung kommt nun noch eines Zusammenfassung des Vortrags “Zend Framework – Past, Present and the Future” von Gaylord Aulke, in dem das Zend Framework im Wandel der Zeit beleuchtet wurde.

Gaylord begann mit einem kurzen Blick auf die Zeitleiste des Zend Frameworks seit dem Release 1.0. Die Anzahl der Downloads beträgt mittlerweile über 6 Millionen, davon konnten 650.000 verschiedene Nutzer identifiziert werden. Es folgte ein kurzer Überblick über die einzelnen Bereiche, die das ZF abdeckt, als da wären, Sicherheit, MVC, Daten, Internationalisierung, Webservices und der Kern. Ein großer Vorteil des Zend Frameworks ist es, dass man nicht gewzungen wird, irgend eine Komponente zu verwenden, wenn man dies nicht möchte.

Danach hat Gaylord einige der neuesten Features aus den Releases 1.5 (z.B. Zend_Form, Zend_Layout, LDAP, OpenID, Infocard sowie Unterstützung der neuen YouTube API etc.), 1.6 (Zend_Tool, Zend_Paginator, Zend_Captcha etc.) und 1.7 (Zend_Dojo, Zend_Amf, ZendX_JQuery sowie Optimierungen der Performance) herausgestellt.

Es folgten einige gute Grüne, um sich für das ZF zu entscheiden. Es ist extrem einfach und produktiv und es beinhaltet die neuesten Techniken der Webentwicklung (z.B. AjAX, Webservices, Syndication). Das ZF bietet freundliche und und einfache Lizenzen, die dem Einsatz des ZF gerade im Unternehmensbereich nicht entgegen sethen. Die hohe Codequalität, die professionelle Services (Training, Zertifizierung, Consultung und Support) sowie die offenen Standards erleichtern die Entscheidung für das Zend Framework noch weiter.

Als nächstes zeigte Gaylord einige Details zur Dojo Integration mit einigen Codebeispielen und gabe einen Überblick von Flex und PHP mit Zend_Amf, das offiziell von Adobe unterstützt wird. Auch ein Überblick über die Applikations- und Verzeichnisstruktur fehlte nicht.

Zum Schluss ging Gaylord auch kurz auf die Zukunft des Frameworks ein. Die Dokumentation soll weiter verbessert werden. Zend_Build soll den Buildprozess vereinfachen und auch die AjAX Unterstützung soll weiter ausgebaut werden. Die Integration des ZF in Tools und IDEs wie Zend Studio soll verbessert werden. Entwicklertools und geeignetes Packaging soll Drittanbietern das Anbieten von Komponenten erleichtern. Es werden weitere Partnerschaften und große Zend Framework Anwendungen gesucht. Auch agile Methoden, mehr Tools, weitere “best practices”, weitere Funktionalitäten und mehr Spass sollen das Zend Framework weiter voranbringen. Zudem soll Zend Framework 2.0 “bald” erscheinen. Einen genauen Releasetermin konnte Gaylord jedoch nicht nennen.

Alles in allem gab es für mich in dieser Session nicht viel Neues zu erfahren. Liegt aber auch daran, dass ich mich täglich mit dem Zend Framework beschäftige. Ich habe aber danach mit einigen anderen Teilnehmern gesprochen, die sich bisher nicht sehr intensiv mit dem ZF beschäftigt hatten. Die Meinungen waren durchweg positiv, da der Vortrag einen guten Überblick über das ZF brachte.

IPC: Session “Performance Tuning MySQL”

Donnerstag, 30.10.2008

Morgan Tocker hielt einen Vortrag zum Thema “Performance Tuning MySQL”. Als Belohnung für jede gestellte Frage versprach er zu Beginn einen wirklich tollen Stift. Leider gingen diese ihm nach 3 Fragen schon aus. Ein bisschen mehr Optimismus (in Form von Stiften) hätte er sich schon erlauben können, denn Fragen gab es zwischendurch immer wieder.

Morgan nannte drei Optionen, um die MySQL Performance zu optimieren.

Option 1 Hardware hinzufügen

Das Hauptproblem bei der Hardware ist die Festplattengeschwindigkeit, aber auch RAM, CPU und das Netzwerk können Flaschenhälse sein. Dieser Ansatz ist vorteilhaft, wenn man genug Geld hat. Der große Nachteil ist, dass die Anschaffung teuer ist und dieser Ansatz nicht immer funktioniert.

Option 2 Konfiguration ändern

Dieser Ansatz kann funktionieren, muss aber nicht. Er setzt voraus, dass MySQL falsch konfiguriert ist. Morgan zeigte einige Beispiele, wie man durch Ändern von Konfigurationsparametern die Performance optimieren kann. Diese Beispiele können am besten aus den Folien entnommen werden, die nach der Konferenz veröffentlicht werden. Der Ansatz kann schnelle Erfolge erzielen, ein Overtuning kann aber negativ sein. Ist kein schlechter Ansatz, man muss nichts an der Applikation ändern.

Option 3 Indizes erstellen und Queries umschreiben

Macht am wenigsten Spass, da es harte Arbeit ist, ist aber langfristig ist am erfolgreichsten von Preisleistungsverhältnis her. Morgan nannte einige Beispiel, wie man durch einen Index und leichte Änderungen der Abfrage die Performance optimieren kann. Auch diese Beispiele könnt ihr am besten auch aus den Folien entnehmen. Ein EXPLAIN Tipp: immer auf die WHERE Klausel konzentrieren, da der Optimizer selber sehr gut arbeitet. Linktipp http://dev.mysql.com/explain. Der Ansatz hat die größten Vorteile, weil es langfristig am meisten bringt. Der Aufwand ist aber deutlich höher und kostet mehr Zeit für die Analyse. Es ist aber Morgans beste Empfehlung.

IPC: Keynote “K.I.S.S. (Keep It Simple, Stupid)”

Donnerstag, 30.10.2008

Derick Rethans hielt heute eine interessante Keynote zum Thema “K.I.S.S. (Keep It Simple, Stupid)”, die ich kurz zusammen fassen möchte. Wichtigste Aussage ist, dass man ein System sowohl im Backend als auch im Frontend so einfach wie möglich halten sollte, aber zugleich auch nicht zu einfach.

Ein paar seiner Stichpunkte:

  • Beschreibende URLs verwenden, statt www.domain.com/honk/blubb/1324.172766.ik9.html lieber www.domain.com/foto/meerschweinchen
  • Ausgehende Links sollten immer im selbern Fenster öffnen, also keine neuen Tabs, Fenster oder gar Popups öffnen. Der Anwender soll immer die Wahl haben.
  • Javascript so wenig wie möglich einsetzen. Eine Anwendung sollte immer auch bei abgeschaltetem Javascript lauffähig bleiben. Der Back Button des Browsers sollte nie komplett außer Kraft gesetzt werden. Autocompletes oder Datumseingabepopups sollten die Eingabefelder nicht blockieren oder die manuelle Eingabe erschweren.
  • Bei der Sprachauswahl sollte die Festlegung nicht ausschließlich auf der IP basieren und sich nicht ändern lassen. Der Nutzer sollte seine Sprache über die Sprachfestlegung im Browser oder über die Applikation selber einstellen können.
  • Stichwort: Flashturation => Flash sparsam einsetzen und nie eine komplette Site oder die Navigation in Flash umsetzen. Beim Einsatz eines Adblockers oder abgeschaltetem Flash kann der Anwender die Application sonst nicht nutzen. Ähnliches gilt auch für Java.

Derick hat noch ein paar Beispiele für eine einfache “Hello World” Seite in PHP gezeigt. Eine simple, eine kompliziertere mit echo() und dann ein Monster mit XMLWriter. Amüsant war das Kapitel über die Hammer-Factory-Factory, die in einfachen Worten wohl heisst: für simple Aufgaben muss nicht immer ein komplettes Fullstack-Framework eingesetzt werden. Es reicht auch ein simpler 0.x Hammer.

Zu guter Letzt empfiehlt Derick auch, die Komponenten in einer Anwendung nicht zu sehr voneinander abhängig zu machen. Dazu empfehle ich auch den Artikel über die Session “Decouple your PHP Code for Reusability“.

Ich fand die Keynote sehr interssant und kurzweilig und stimme in den meisten Punkten mit Dericks Auffassung auch überein.