Einträge getaggt mit ‘PHP’

File stream wrapper on steroids

geschrieben am 01.04.2009 von Stephan Hochdoerfer

Gefunden via planet-php: Alex Netkachov zeigt wie man den internen File stream wrapper überschreiben kann.Sehr nett, vor allem eine weitere interessante Idee für meinen Vortag beim nächsten DevDusk.Mit dieser Technik lassen sich prinzipiell beliebige Dateien zur Laufzeit includen, abhängig von der Implementierung der StreamWrapper Klasse. Man könnte es wohl als “Erweiterung” zu der autoload Funktionalität sehen wobei sich diese ja “nur” auf das Einbinden von Klassen bezieht.

Dependency Injection everywhere

geschrieben am 28.03.2009 von Stephan Hochdoerfer

In den letzten Monaten wurden in einigen Blogs immer mal wieder Beiträge zum Thema Dependency Injection (DI) in PHP verfasst. In einem aktuellen Beitrag von Fabien Potencier, dem Lead-Entwickler von Symfony, stellt er die These auf dass man mitunter keinen IoC Container benötigt um grundsätzlich vom DI Ansatz zu profitieren. Diese Ansicht kann ich nicht teilen. Aus seinem Beispiel und auch den Beispielen aller anderen Blogbeiträge wird der Nutzen von DI, vor allem im Rahmen eines kompletten Frameworks, meines Erachtens nicht klar genug dargestellt. Das Thema ist natürlich viel zu komplex um in einem kurzen Blogeintrag behandelt zu werden. Die Vorteile von DI sind schließlich vielfältiger Natur. Zu erkennen wie sauber der eigene Programmcode werden kann, wie einfach sich die einzelnen Schichten einer Anwendung testen lassen oder was die Austauschbarkeit einzelner Komponenten zur Laufzeit bedeutet, braucht seine Zeit. Das zeigt zumindest meine Erfahrung aus den letzten drei Jahren täglicher Arbeit mit DI mit unserem bitFramework.

Copy & Paste Detection für PHP

geschrieben am 15.03.2009 von Stephan Hochdoerfer

Gefunden via Sebastian Bergmann`s Blog: phpcpd – ein Copy & Paste Detector für PHP Code. Installiert wird das ganze via PEAR Installer. Nach einem ersten schnellen Test an unserem bitFramework freut es mich 0.00% duplizierten Code vorzufinden. Ich hatte auch schon länger vor auf Basis des PHP_CodeSniffers etwas ähnliches zu programmieren, mangels der nötigen Freizeit blieb es bisher bei dieser Idee.

Wer übrigens mehr zum Thema PHP_CodeSniffer wissen möchte sollte mal bei Nils vorbeischauen. Er bloggte in der letzten Woche ausführlich zum Thema PHP_CodeSniffer.

Testing untestable code @DevDusk

geschrieben am 22.11.2008 von Stephan Hochdoerfer

Im Rahmen des DevDusk Events am 15.01.2009 der von der PHP Usergroup Frankfurt initiiert wurde darf ich zum Thema “Testing untestable code” einen Vortrag halten. Der Vortrag wird nicht TTD lastig werden, soll aber zeigen dass es entgegen einer weitverbreiteten Meinung doch möglich ist Anwendung mit stark gekoppelte Komponenten testen zu können. Die Ideen geistern schon lange in unseren Köpfen herum und wurden dieses Jahr im Rahmen von einigen Projekten differenziert betrachtet. Der Fokus unserer Betrachtungen lag vor allem darin ohne Refactoring des ursprünglichen Quellcodes das Ziel der Testbarkeit einzelner Komponenten zu erreichen. Die Ergebnisse möchte ich nun der Allgemeinheit vorstellen und bin gespannt welches Feedback ich dazu bekomme.

Der zweite Vortag an dem Abend (Vorstellung des Hades Frameworks), übrigens von einem unserer ehemaligen Mitarbeiter, ist bestimmt auch nicht weniger interessant.

UPDATE: Aufgrund einer Erkrankung meinerseits konnte ich am 15.01 leider nicht dabei sein. Den Vortrag werde ich beim DevDusk am 14. Mai nachholen.

dropr – die Message Queue für PHP

geschrieben am 26.10.2008 von Stephan Hochdoerfer

Im Zuge einer Evaluierung für eines unserer Kundenprojekte bin ich auf dropr aufmerksam geworden. dropr ist eine verteilte Message Queue für PHP und wird von Jimdo Mitarbeitern betreut. Der Vorteil von dropr liegt zum Einen darin vollständig in PHP entwickelt worden zu sein, zum Anderen wird dennoch sichergestellt dass die Datenübertragung zuverlässig und permanent funktioniert. Dank des dezentralen Architekturansatzes und der Modularisierung für die Message-Queues und den Transportmechanismen läßt sich dropr in den unterschiedlichsten Anwendungsbereichen einsetzen.

Den ganzen Beitrag lesen »