Blog

Viewing entries posted in 2009

Custom Factories RFC für den PHP Kern

Dank Robert Lemke vom Typo3 Projekt gibt es seit einigen Tagen einen RFC für sog. Custom Factories für PHP. Die grundsätzliche Idee des RFC ist es via SPL die Objekterzeugung beeinflussen zu können, ähnlich wie es bsp. mit spl_autoload möglich ist eigene Klassenloader zu definieren. Er möchte damit Einschränkungen in Legacy Bibliotheken aufbrechen die es aufgrund von fest verdrahteten Abhängigkeiten nicht möglich machen eigene Komponenten innerhalb der Legacy Bibliothek zu verwenden. Im aufgeführten Beispiel wird dies gut anhand eines Logger-Beispiels aufgezeigt. Im Grunde halte ich die Idee für recht interessant. Ich denke viele Entwickler sind in der Vergangenheit über das Problem gestoßen dass sich Frameworks oder Bibliotheken von Drittanbietern an machen Stellen nicht optimal in die eigenen Anwendungsstrukturen einbinden lassen konnten bzw. es nur sehr umständlich möglich war eine Integration zu erreichen.

mehr lesen...


Verfasst von Stephan Hochdoerfer am 22.11.2009 | 0 Kommentare

PHP Code mit xtext generieren

Gefunden via Twitter: Nils Hartmann beschreibt in seinem Blog wie man mittels Eclipse Xtext und Xpand PHP Code anhand einer domänenspezifischen Sprache (DSL) generieren kann. Der leider etwas knappe Artikel macht Appetit auf mehr und zeigt auf wie man durch eine DSL den Arbeitsablauf optimieren und Routinearbeiten automatisiert durchführen lassen kann. Ich werde mir XText einmal ganuer ansehen und prüfen inwiefern wir dieses Programm in unsere Arbeitsabläufe integrieren können.

mehr lesen...


Verfasst von Stephan Hochdoerfer am 02.11.2009 | 0 Kommentare

XDebug mit mehreren Usern

Gefunden via planet-php.org: Derik hat in seinem Blog ein Howto veröffenlicht das erläutert via man via dbgproxy mit mehreren Usern gleichzeitig eine XDebug zum Remote-Debuggen nutzen kann. Die Möglichkeit war mir bislang nicht bekannt und von daher das Interesse groß das ganze einmal auszuprobieren.

mehr lesen...


Verfasst von Stephan Hochdoerfer am 11.06.2009 | 0 Kommentare

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...


Verfasst von Stephan Hochdoerfer am 01.04.2009 | 0 Kommentare

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...


Verfasst von Stephan Hochdoerfer am 28.03.2009 | 0 Kommentare

Charles HTTP proxy

Durch den Vortag von Mihai Corlan, einem Adobe Platform Evangelist, auf dem letzten DevDusk in Frankfurt bin ich auf den Charles Webproxy aufmerksam geworden. Im Grunde nichts anderes als ein HTTP Proxy. Was allerdings sehr schön ist, dass die Software das AMF Remoting Protokoll beherrscht und man so auf sehr einfache Weise sehen kann welche AMF Requests vom Flash / Flex Client abgesetzt und empfangen werden. Die Software erleichtert einem das Debugging sehr. Ein Wühlen in den serverseitig generierten Logfiles ist nicht mehr unbedingt nötig. Gerade wenn man nicht selbst dafür verantwortlich ist den Flash / Flex Code zu entwickeln und dementsprechend nicht direkt in der IDE debuggen kann, nimmt einem die Software doch einiges an Arbeit ab.

mehr lesen...


Verfasst von Stephan Hochdoerfer am 21.03.2009 | 0 Kommentare

MDD & PL 2009

Wie schon im letzten Jahr gebloggt findet in wenigen Tagen in Leipzig die Model-Driven Development and Product Lines: Synergies and Experience Konferenz statt. Wer aus dem Umfeld kommt bzw. sich für MDD und Produktlinienentwicklung interessiert, dem kann ich die Teilnahme nur empfehlen. Wir werden durch Patrick Otto und Thomas Wollny vor Ort vertreten sein und zu den Themen Entwicklungsprozess und Praxiseinsatz mit der Generativen Programmierung berichten.

mehr lesen...


Verfasst von Stephan Hochdoerfer am 15.03.2009 | 0 Kommentare

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...


Verfasst von Stephan Hochdoerfer am 15.03.2009 | 0 Kommentare

jQuery zusammen mit Third-Party JavaScript Bibliotheken einsetzen

Im Rahmen eines Einsatzes bei der Internet-Agentur Scholz & Volkmer stieß ich auf ein Problem, jQuery parallel zu der JavaScript Bibliothek Prototype zu benutzen.
Der Internetauftritt eines Kameraherstellers, der erweitert werden sollte, wurde über das CMS Silverstripe verwaltet, was wiederum auf dem OpenSource MVC-Framework Sapphire aufsetzt. Hier wurde nun ein Modul integriert, über das eine Bildergalerie implementiert wurde.

mehr lesen...


Verfasst von Carsten Lang am 07.03.2009 | 0 Kommentare

VMware Server in Debian Lenny

Damit das VMware Server 2 Paket unter Debian Lenny mit dem Defaultkernel problemlos compiliert muss vor dem Start des Installers die folgende Umgebungsvaribale gesetzt werden:

mehr lesen...


Verfasst von Stephan Hochdörfer am 06.03.2009 | 0 Kommentare