RSS Feed
^__^

RegExpBuilderPHP – PHP Regular Expression Builder

,

There this really useful tool for JS, called RegExpBuilder.
It enables you to build regular expressions with a nice human-readable & chainable syntax.
(read more about it here and here)

As it’s not that much lines of code, I decided to do a port for PHP – et voila:

https://github.com/gherkins/regexpbuilderphp
» read more

Symfony2 “urlize”

,

I have often missed the

Doctrine_Inflector::urlize()

 method from Doctrine1 in Symfony2 with Doctrine2.

Of course there’s the doctrine extensions with the sluggable behaviour, but sometimes it seems a bit overhead for smaller tasks.

I just recently discovered Behat Transliterator, which brings just the dearly missed urlize function back.

» read more

Symfony 2 wird super. Oder …?

,

Natürlich wird Symfony 2 super. Die Dokumentation ist wie gewohnt zum jetzigen, frühen Zeitpunkt genial, die Architektur durchdacht, die Entwickler-Community steckt sowieso alles in die Tasche, man sieht einfach: Da steckt eine Menge Arbeit, Hirnschmalz und Erfahrung hinter. Aber genug geschleimt ;)

Mein Lieblingsthema ist ja zur Zeit der Dependency Injection Container. Und irgendwie stinkt mir die ganze Container-Konfiguration noch gewaltig. Meine kläglichen Versuche, selbst mal so was ähnliches wie eine brauchbare Autowiring-Implementierung herunterzubrechen, waren natürlich auch bzw. erst recht nicht der große Wurf – was vor allem daran lag, dass ich den Service Container und damit den ganzen Sinn und Zweck des Ganzen einfach mal wegrationalisiert hatte – Loose Coupling sieht natürlich anders aus, das sei den Kritikern zugestanden. Ich verteidige mich mal dadurch, dass ich eigentlich nur mal mit Mixins rumspielen wollte – da hab’ ich wohl die eine oder andere Begrifflichkeit durcheinander geworfen.

Aber um mal zu des Pudels Kern zu kommen: Ist es wirklich so geil, mit kilometerlangen XML-Dateien, ‘ner Menge Initialisierungscode und ohne mit der heißgeliebten Code-Completion in der IDE meiner Wahl ein Paradigma zu kaufen, das im speziellen Anwendungskontext – nicht im Framework-Kontext – eher selten Anwendung findet?

» read more

Symfony 2 Standard Edition released

,

Ab heute, dem 7. 3. 2011, steht auf http://symfony.com die “Standard-Edition” der neuesten Version 2 des populären RAD-Frameworks zum Download bereit. Bereits am vergangenen Wochenende ging die neue Website des Projekts online.
» read more

[Symfony 2] Sandbox/Standard Edition – bootstrap.php

,

Wer sich wundert, woher die beiden Dateien “app/bootstrap.php” respektive “app/bootstrap_cache.php” im Standard-app-Verzeichnis der Sandbox kommen: Das Script unter bin/build_bootstrap.php generiert eben diese aus existierenden Sourcen.
» read more

ReflectionParameter::isOptional() vs. ReflectionParameter::isDefaultValueAvailable()

,

Während der Bastelei am DI-Container bin ich über die beiden Methoden ReflectionParameter::isOptional() und ReflectionParameter::isDefaultValueAvailable() gestoßen. Der kleine, undokumentierte und feine Unterschied ist folgender:

» read more

Dependency Injection mit PHP 5.3, Runkit-Erweiterung und Doctrine 2-Annotationen

,

Unter Dependency Injection versteht man heute nicht nur ein einfaches Entwurfsmuster, sondern vor allem Framework-gestützte Mechanismen, die den konkreten Implementierungsaufwand verringern (Entwicklungszeitoptimierung), dem Entwickler bessere Übersicht über Abhängigkeiten zu schaffen (Applicationdesignoptimierung) und die Anzahl der Instanzen gleichen Prototyps zu minimieren (Performanceoptimierung).

Heute möchte ich einen alternativen, vielleicht pragmatischeren Ansatz als der andererer populärer Implementierungenn herbeispinnen, um Dependency Injection (DI) in PHP 5.3 zu realisieren.
» read more

Dependency Injection mit Symfony 1.x

,

Durch meine ersten Gehversuche mit Grails sowie einen interessanten Vortrag über JSF2 bin ich kürzlich über das Kürzel “IoC” gestoßen. Das ganze ist vom Prinzip her recht einfach und in Grails, das im Grunde ein stinknormales MVC-Pattern implementiert, konkret gelöst, indem man durch eine Namenskonvention am Controller automatisch sogenannte Services instanziiert.

» read more

(My)SQL optimieren

,

Ich mag schnoddrig-nerdige Blogposts mit (s/f)uck im Titel, daher heute mal der hier: 10 Tips For Optimizing MySQL Queries That Don’t Suck. Sicher nicht brandaktuell, doch Leiderprobte (“Warum dauert der §()!”% das so lange?”) möchten sicher hin und wieder daran erinnert werden.

X-Sendfile + Apache 2 (Ubuntu)

,

Ein recht verstecktes Feature, das neuere Server, bspw. Lighthttpd + FCGI-Modul bereits “out of the box” unterstützen, ist das anwendungsgesteuerte “Durchschleifen” von großen Dateien via X-Sendfile Header.

Wozu es gut ist und wie man es benutzt,will ich im Folgenden kurz erläutern:

» read more