RSS Feed
^__^

Symfony 2 wird super. Oder …?

Johannes Heinen, 2011/05/11 00:09

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

Johannes Heinen, 2011/03/07 18:20

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

Johannes Heinen, 2011/03/06 09:03

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()

Johannes Heinen, 2010/09/28 18:03

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

Johannes Heinen, 2010/09/26 17:33

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

Johannes Heinen, 2010/05/27 18:58

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

Johannes Heinen, 2010/04/27 22:20

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)

Johannes Heinen, 2010/03/24 10:23

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

Javascript Code Quality Checker

Johannes Heinen, 2009/11/04 10:01

JSLint ist ein Tool zur statischen Codeanalyse wie bspw. Checkstyle, den einem die Javaprofs gerne mal im ersten Semester OOP aufzwingen. JSLint prüft, wie der Name schon sagt – Javascript-Code. Aber Vorsicht:

JSLint will hurt your feelings!

Kleine Randnotiz: Der hier muss natürlich wieder rumstänkern, aber das gehört wohl zu jedem guten Nerd-Blogger, der etwas auf sich hält ;).

Diese Prüfwerkzeuge, die es mittlerweile für so gut wie jede neuere (nicht älter als <>20 Jahre) Programmiersprache gibt, stellen natürlich nur ein Mittel von vielen zur Qualitätssicherung in der Softwareentwicklung, außerdem ist blindes Vertrauen natürlich Fehl am Platze.

Netbeans 6.8 kommt mit PHP 5.3 & Symfony-Support

Johannes Heinen, 2009/10/23 15:31

[...]

Die PHP-Integration schließt jetzt das Symfony-Framework und Version 5.3 der Skriptsprache ein. Verbesserungen soll es unter anderem bei den Werkzeugen für Ruby, Groovy und C/C++ geben. Die Beta von Netbeans 6.8 steht auf der Website des Projekts für Windows, Linux, Solaris, OS X und als plattformunabhängige Variante zur Verfügung. Ende Dezember 2009 soll die Software fertig sein.

Via Heise Developer

Bildschirmfoto-1-300x187 in

Bildschirmfoto-2-300x187 in

Bildschirmfoto-3-300x187 in