Blog

Anzeige der Einträge mit Tag 'PHP'

File stream wrapper on steroids

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.


mehr lesen...


Eintrag von Stephan Hochdörfer am 01.04.2009

Dependency Injection everywhere

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.


mehr lesen...


Eintrag von Stephan Hochdörfer am 28.03.2009

Copy & Paste Detection für PHP

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.


mehr lesen...


Eintrag von Stephan Hochdörfer am 15.03.2009

Testing untestable code @DevDusk

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.


mehr lesen...


Eintrag von Stephan Hochdörfer am 22.11.2008

dropr - die Message Queue für PHP

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.


mehr lesen...


Eintrag von Stephan Hochdörfer am 26.10.2008

FirePHP für FireBug

Die FireBug Extension für den Firefox Browser gehört zu unserem Handwerkszeug ebenso dazu wie die IE Developer Toolbar. Für das Debuggen von Ajax-Anwendungen allerdings sind beide Tools nicht sonderlich hilfreich. Zwar zeigt FireBug die Request und Response Daten an, dennoch wäre es hilfreich zu wissen was auf Serverseite (im Hintergrund) passiert um zu Erkennen wie die Response tatsächlich zusammengebaut wird.


mehr lesen...


Eintrag von Stephan Hochdörfer am 08.09.2008

Web2.0 Security Seminar

Letzten Dienstag gab Johann Peter Hartmann von Mayflower in Zusammenarbeit mit MySQL ein Webseminar zum Thema Web 2.0 Security. Da ich an dem Webseminar kurzfristig leider nicht teilnehmen konnte bin ich froh, dass es den Seminar-Mittschnitt seit heute zum Download gibt. Fazit: sehens- und hörenswert!


mehr lesen...


Eintrag von Stephan Hochdörfer am 05.02.2007

PHPUnit: Exceptions werfen mit Mock Objekten

Beim Arbeiten mit PHPUnit ist uns aufgefallen, dass es in Version 3.x von PHPUnit nicht möglicht ist, Mock Objekte so zu konfigurieren, dass Methodenaufrufe Exceptions werfen. Eine Nachfrage bei Sebastian Bergmann bestätigte, dass das Feature noch nicht implementiert ist. Wir entschieden uns kurzerhand dazu, es selbst zu implementieren und das Feature für kommende Versionen von PHPUnit bereitzustellen. Ab Version 3.1 wird man dann neben


mehr lesen...


Eintrag von Oliver Schlicht am 04.02.2007

Tipp zu PHPUnit

Ein Tipp für alle PHPUnit User: Vor dem Rufen der Methode PHPUnit_Framework_TestSuite::addTestFile() darf die hinzuzufügende Testdatei nicht zuvor includiert/required werden. Da leider keine Fehlermeldung geworfen wird wenn die hinzuzufügende Testdatei zuvor schon eingebunden wurde kann die Fehlersuche ziemlich anstregend werden. Selbst im Pocket Guide von PHPUnit konnte ich keinen Hinweis auf das Verhalten finden.
Es gibt genau zwei Methoden um ein Test (bzw. ein TestFile) zu einer TestSuite hinzuzufügen:


mehr lesen...


Eintrag von Stephan Hochdörfer am 18.01.2007

PDO unter Linux

Wer die PDO-Extension von PHP auf einem Linux-Server betreibt sollte sich tunlichst dies einmal ansehen. Genau wie im entsprechenden Bug-Report zu lesen hatten wir zum Einen das Problem dass Lock-Table Statements nicht funktionierten, zum Anderen dass auch fast willkürklich SQL-Statements nicht ausgeführt wurden.


mehr lesen...


Eintrag von Stephan Hochdörfer am 30.12.2006

Diese Webseite verwendet Cookies, um die Bedienfreundlichkeit zu erhöhen. Mit der Nutzung unserer Webseite wird das Einverständnis erklärt, dass wir Cookies verwenden. Weitere Informationen.