Ik vind de argumenten daar een beetje tegenvallen. Ze zeggen dat array's niet werken en dat je geen accolades moet gebruiken omdat je dan dubbele accolades wilt gebruiken wanneer je in je output accolades wilt hebben (komt bij mij eerlijk gezegd niet elke dag voor).

Verder zeggen ze nog dat het niet goed met (x)(ht)ml samengaat, daar zit natuurlijk wel wat in, maar als dat niet het geval is...

En de Zend Coding Standard gaat niet over wat wel/niet kan, maar juist wat netjes is. Het wordt toch juist vaak aangehaald als referentie voor php-formattering? En het zou toch raar zijn als deze mensen iets wat niet net is in hun referentie zetten?
@Pim er bestaat bijna geen programmeer- of scripttaal waarin je zomaar midden in een string een variabele van een onbekende data type kunt zetten.... het is gewoon niet netjes.
Ik vind variabelen buiten de quotes veel netter, want zo kan ik ook nooit fouten maken.

Verder vind ik het ook netter om variabelen buiten de quotes te halen, zo zie je duidelijk het verschil tussen tekst en variabelen.
De enige reden hiervoor die ik zelf ook kan bedenken, is netheid van je code. Ook leest het prettiger & duidelijker.

Ik dacht zelf dat echo "$var"; langzamer was dan echo $var; ( heel simpel voorbeeld natuurlijk en met een echo zal je het nauwelijks merken ).
Het performanceverschil hoef je het niet (meer) voor te laten: constructies als "hallo, $dit $is $een $variabele" hebben ze bij Zend nu bijzonder goed geoptimaliseerd.

En nee, ik gebruik het zelf niet. Waarom? Eigenlijk geen idee, er is niks wat me tegenhoudt gezien alle editors die ik gebruik de variabelen binnen de string ook gewoon highlighten zoals het hoort.

Een groot nadeel is eigenlijk dat binnen enkele quotes al deze constructies sowieso niet werken. Dit is relatief inconsistent gedrag en dat kan flink wat verwarring met zich meebrengen. Maar dit is natuurlijk in feite verwaarloosbaar.

Maar je kunt je natuurlijk afvragen: als je meerdere variabelen binnen een string moet zetten, heb je dat dan logisch aangepakt?

Reageren