PHP: Output-Buffer ist schachtelbar

Bei der Entwicklung des WordPress-Caching-Plugins Staticly kam die Frage auf, wie man die Output-Buffer ob_start und Co. nutzen könne, während Plugins und andere Code-Teile selbst davon Gebrauch machen. Und tatsächlich macht es PHP dem Nutzer recht einfach, wie das Manual bestätigt: Output buffers are stackable, that is, you may call ob_start() while another ob_start() is… PHP: Output-Buffer ist schachtelbar weiterlesen

Adaptive Bilder im responsiven Webdesign

Während die Gestaltung für unterschiedlich große Ausgabegeräte mit CSS mittlerweile ganz gut möglich ist, hat responsives Webdesign ein großes Problem: Bilder. Schon für Entwickler ist es nervig, unzählige Größen bereitzustellen. Vollautomatisierte Lösungen, die auch für technisch unversierte Nutzer funktionieren, sind noch um einiges komplizierter. Eine schöner Ansatz, der zumindest einen großen Teil dieses Gebietes abdeckt, bietet Adaptive Images. Die Software habe ich nicht getestet und sie dürfte für viele ohnehin nicht nutzbar sein, da sie PHP und einen Apache Webserver erfordert. Die Idee ist aber gut und einfach umsetzbar.

PostgreSQL-Byte-Array mit PHP in Datei schreiben

Will man Binärdaten, die in einer PostgreSQL-Tabelle als Typ bytea hinterlegt sind, direkt ausgeben oder in eine Datei schreiben, muss die Rückgabe zunächst demaskiert werden. Andernfalls wird sich euer Bildbetrachter weigern, eine gespeicherte Grafik zu öffnen. Grund dafür ist, dass die Daten bei der Auswahl mit SELECT als Oktalzahlen zurückgegeben werden, die mit einem Backslash… PostgreSQL-Byte-Array mit PHP in Datei schreiben weiterlesen

PHP-Coding-Guidelines: PHP Framework Interop Group

Neben vielen weiteren hat PHP ein in meinen Augen besonders nerviges Manko: Es stellt keine Guidelines dafür bereit, wie der geschriebene Code formatiert werden soll. Für einen Überblick habe ich vor längerer Zeit schon einmal die Vorgaben großer Projekte verglichen. Viel interessanter scheint jedoch der Ansatz der PHP Framework Interop Group zu sein, die ein ganzes Bündel von Empfehlungen für Webentwickler geschnürt hat.

Referenzen bei Problemen mit großen Datenmengen

In einem größeren PHP-Projekt hatte ich kürzlich das Problem, dass große Teile der Datenbanken in Arrays geschoben wurden um von dort aus weiterverarbeitet zu werden. Dies ist generell kein schöner Ansatz, war in der besagten Situation aber nicht mehr zu ändern. Ein Kollege kam auf die rettende Idee, die ich hier kurz notieren möchte, so dass ich sie nicht vergesse.

PHP: echo gegen print; ==, === oder switch?

Eine sehr interessante für alle PHP-Entwickler: The PHP Benchmark testet typische PHP-Code-Schnipsel, vergleicht ihre Geschwindigkeit und räumt dabei mit dem einen oder anderen Vorurteil auf.

Reguläre Ausdrücke online testen: Reghex

Vor einigen Wochen stolperten wir während einer Vorlesung über das Problem, ein schnelles und einfaches Testwerkzeug für reguläre Ausdrücke unter Linux zu finden. Schnell wurde uns klar, dass man einen solchen Dienst sehr gut als Webanwendung realisieren könnte. Als wir uns dann im Zuge einer anderen Vorlesung mit einem Javascriptprojekt beschäftigen sollten, war „Reghex“ geboren…

Feedback-System Tweedback für Präsentationen

Seit ein paar Tagen haben Georg und ich die Arbeit an unserem Studienprojekt „Tweedback“ abgeschlossen. Ziel war es, eine Anwendung zu schreiben, mit welcher der Zuhörer während einer Vorlesung oder eines Vortrags Rückmeldungen an den Dozenten schicken kann. Dies sollte plattformunabhängig, ohne größere Ablenkung für den Vortragenden und in Echtzeit umgesetzt werden. Die nun abgeschlossene Umsetzung, deren Name eine Mischung aus to tweet (zwitschern) und Feedback ist, setzt diese Anforderungen um und konzentriert sich vor allem auf eine intuitive graphische Oberfläche, die im Browser läuft.

Kleine PHP-Helfer für CSS-Animations

CSS-Animationen sind eine leicht verständliche Art, aufwändige und hübsche Animationen zu erstellen. Das Hauptproblem dabei sind vor allem die ständig benötigten Browser-Präfixe, die aufgrund der fehlenden Standardisierung noch immer nötig sind. Ich habe für diesen Zweck zwei PHP-Funktionen geschrieben, welche die verschiedenen Varianten automatisch erstellen.

MVC-Anwendungen mit Flow 3 und ein Ausblick auf das nächste Typo 3

Auf der gerade tagenden „T3CON11“ kommen die Typo-3-Entwickler zusammen und beraten über die Zukunft. Nebenbei zeigen Sie aber auch, was sie schon haben. Nachdem ich in den letzten Monaten doch eher negative Eindrücke von Typo 3 sammeln musste, machen das grundlegende Framework Flow 3 und die ersten Bilder von Typo 3 5 einen sehr guten Eindruck.