am 21. April 2009
Durch meinen neuen Job komme ich ja in letzter Zeit immer öfters mit Symfony in Kontakt und ich muss sagen, dass es mir ganz gut gefällt. Wirklich tief bin ich noch nicht wirklich eingestiegen in die Materie, aber meinen ersten WTF habe ich schon gefunden. Es ist nichts schlimmes. Es geht einfach um eine wirklich übermäßige Nutzung von Chaining (flüssiges Interface). Interfaces so flüssig wie möglich zu halten ist natürlich eine angenehme Sache, aber was die Jungs von Symfony in ihren Funktionalen Tests machen finde ich wirklich übertrieben. Aber ich zeige einfach mal das Beispiel, dass ich so besonders fand:
$browser->info('1 - The homepage')->
get('/')->
with('request')->begin()->
isParameter('module', 'job')->
isParameter('action', 'index')->
end()->
with('response')->begin()->
info(' 1.1 - Expired jobs are not listed')->
checkElement('.jobs td.position:contains("expired")', false)->
end()
;
Schaut man sich das ganze mal genau an, sieht man, dass es sich hier genau um einen Ausdruck handelt. Ich meine er ist schön Eingerückt und so wie er da steht auch übersichtlich. Aber das kann auch ganz schön in die Hose gehen. So ein Ausdruck in den Händen eines PHP Neulings? Oh mein Gott. Komisch finde ich auch, dass sogar Kontrollstrukturen (begin, end) in Methoden gepackt wurden.
Vielleicht hat ja jemand von euch Erfahrung mit dem Testing-Framework gemacht und möchte mal ein paar Worte dazu sagen. Für mein Gefühl ist es auf jeden Fall ziemlich unübersichtlich.